Home > Slot machine unity github

Slot machine unity github

Slot machine unity github

But if the effect is process-wide you will simply not notice the difference. Top è un programma interattivo e dinamico per la gestione dei processi. Per avviarlo basta scrivere in un terminale "top", a questo punto comparirà una schermata in cui:. La schermata di top si aggiorna automaticamente ogni 3 secondi, ad ogni modo esistono altre modalità con cui lanciarlo per poter cambiare questa impostazione o richiedere feature specifiche:.

Una variante molto comoda e più avanzata a "top" è "htop". Ps è un programma statico per la gestione dei processi, viene molto utilizzato nella stesura di programmi o script che devono in qualche modo interagire con i processi, ps mi fornisce una fotografia al tempo in cui viene lanciato dei processi attivi sulla macchina. Lanciando il programma con "ps" mi mostrerà solo i processi attivi all'interno del mio terminale, dovremo quindi aggiungere dei parametri per effettuare operazioni più complesse.

I'll have many columns, and terminals are identified by TTY Teletype code , identifies the terminal that the process is running on. Other cases are:. E' possibile lanciare programmi specificando il grado di priorità attraverso il comando "nice", ad esempio:. Molto utile è anche il comando "renice" che ci permette di cambiare la priorità di un processo già in running, alcuni esempi applicativi possono essere:.

E' bene tenere a mente che tutti i processi del terminale vengono terminati con nel momento in cui usciamo dal terminale, nel caso volessimo far sopravvivere i nostri processi anche una volta usciti dal terminale dobbiamo effettuare un'operazione di "nohup". E' possibile uccidere un processo mandandogli dei segnali, esistono tre tipi di segnali utili per la terminazione di un processo:. Questa procedura torna molto utile con processi che durano giorni o in genere molto tempo. Nel caso volessi chiudere tutti i programmi legati al mio terminale, mi basta lanciare il comando "exit".

Nel caso volessimo lanciare un programma e assicurarci che continui la sua esecuzione anche nel caso in cui il nostro sistema ci forza l'uscita, o veniamo sloggati o accidentalmente chiudiamo il nostro terminale, allora in questi casi si rivela utile l'utilizzo del comando "nohup":. E' da tenere a mente che nohup creerà un file chiamato nohup. La differenza tra nohup e disown, è che nohup è utilizzato all'avvio di un processo, mentre se un processo è già in running ed è stato lanciato senza nohup e vogliamo assicurarci che continui a runnare anche dopo la chiusura del terminale, allora possiamo sganciarlo dal terminale con "disown".

Il programma lsof permette di capire quali file sono aperti dai vari processi, infatti lsof sta per "list opened files", vediamo alcuni esempi applicativi:. Oggigiorno la maggior parte delle distro più famose usa un gestore di inizializzazione dei servizi chiamato " systemd", che ha una gestione dei processi e dei demoni molto più complessa. Per capire quale systema di inizializzazione dei processi utilizza il nostro sistema possiamo effettuare:. Il sistema di gestione servizi sysVinit è molto semplice, in pratica è basato su 6 runlevel del sistema, ad ogni runlevel possiamo associare degli script.

Systemd permette all'utente di creare diversi "stati" che forniscono all'utente un meccanismo flessibile per creare diverse configurazioni in cui effettuare "boot", questi stati sono composti da più "unit file" che messi assieme formano i cosiddetti "target", i target hanno nomi significativi al posto di semplici numeri come avveniva in sysVinit, e gli "unit file" gestiscono servizi, socket, e mount. Gli "unit file" sono collocati in due directory:. I classici 6 runlevel di "sysVinit" sono sostituiti generalmente dai cosiddetti "target", vediamo i principali:.

Lo strumento principale per gestire i servizi con systemd è costituito dal programma "systemctl", vediamone alcuni esempi:. E' da notare che systemd è compatibile con sysVinit, quindi i servizi possono anche essere gestiti attraverso i comandi start, stop, restart ecc Vediamo ora alcuni altri comandi che utilizzano systemd:. Attraverso i comandi sopracitati, possiamo quindi tenere sotto controllo il sistema, sapendo cosa viene avviato, quando viene avviato e da cosa quale script, programma viene avviato. Possiamo visualizzare anche quali sono i servizi che si devono avviare prima di un altro servizio con:. Per creare un servizio, dobbiamo creare uno "unit file", uno unit file molto minimale potrebbe essere:.

Se il nostro modulo è presente in questa lista, allora non è stato caricato correttamente e possiamo ispezionare il problema con:. E' utile fare script ad esempio che mandano mail in automatico, ad esempio per scrivere direttamente mail con un file di corpo predefinito chiamato "body. Un'altra tecnica utilizzabile per l'inoltro delle mail è quella di creare un file chiamato ".

Rsyslog e Syslog costituiscono due sistemi di gestione dei log, le distro Debian-based utilizzano rsyslogd, ma i concetti sono praticamente uguali ed anche i file di configurazione, rsyslog ci permette di gestire i log di vari programmi e con che livello di dettaglio riceverli. L'unica differenza tra che interessa a noi tra rsyslog e syslog è che il file di configurazione principale nel caso di syslog invece di chiamarsi "rsyslog.

Il programma "logger" ci permette di scrivere nei file di log. Vediamo alcuni esempi applicativi:. Nel file "logrotate. All'inizio del processo di boot, prima che il kernel venga lanciato, l'obiettivo del boot loader sembra semplice, deve caricare il kernel in memoria e lanciarlo con un set di parametri, quindi le domande a cui il boot loader deve rispondere sono:. Le risposte tipicamente sono che il kernel e i suoi parametri sono da qualche parte sul root filesystem. Siccome i parametri da passare al kernel sono da qualche parte su uno degli hard disk, ho bisogno di relativi driver dell'hard disk per poterli trovare, e siccome non posso caricare i driver in quanto non ho ancora caricato il kernel, i boot loader risolvono il problema riuscendo ad accedere al disco per reperire i parametri attraverso le interfacce BIOS o UEFI; questo è possibile grazie al firmware sull'hardware dell'HDD che permette al BIOS o UEFI di accedere all'HDD, grazie agli LBA Logical Block Addressing ; nonostante siano accessi con performance molto povere, questo non ci interessa, in quanto una volta caricato il kernel, verranno caricati i suoi driver ad alte prestazioni; solitamente i boot loader sono gli unici programmi ad usare il BIOS o il UEFI per gli accessi al disco.

The filesystem question is trickier. Most modern boot loaders can read partition tables and have built-in support for read-only access to filesystems. Thus, they can find and read files. This capability makes it far easier to dynamically configure and enhance the boot loader. Linux boot loaders have not always had this capability; without it, configuring the boot loader was more difficult.

Grub sta per Grand Unified Boot Loader, per essere sicuri di avviarlo, tenere premuto il tasto "Shift", dall'avvio del pc, e una volta presente la schermata di scelta di grub, premiamo "Esc" per accedere al prompt di Grub; possiamo premere "e" per vedere la configurazione del boot loader per l'opzione di default di grub; non dobbiamo farci confondere dai comandi, in quanto anche se vediamo "insmod", in realtà non stiamo usando lo stesso " insmod" di linux, ma Grub è un mondo a parte, solo che la nomenclatura è lasciata uguale a quella dei comandi Unix per questioni di semplicità; possiamo cambiare queste impostazioni sia in modo temporaneo, che permanente all'interno di Grub.

Grub ha un proprio schema di device-addressing. Vediamo alcuni comandi di grub:. Il parametro passato al comando "linux" è chiamato "kernel command line" e i suoi parametri sono chiamati "kernel command line parameters". The x86 family processors send an interrupt every 4ms, Linux sees this interrupt and tries to see how many loops without doing anything it can execute before the next interrupt, allowing us to calculate BogoMIPS per jiffy and then CPU speed.

So at boot time, Linux has no clue of actual CPU speed, just the fact that it knows it's an x86 and will receive that interrupt every Hz. So then, the Hz and consequently the jiffies value accuracy is dependent on the CPU crystal? Possiamo partire in un livello più basso ad esempio per non far partire xorg, ad esempio andando ad impostare dopo quiet "3" o il numero corrispettivo alla modalità che preferiamo. La configurazione di Grub è contenuta in un file chiamato " grub. Non modifichiamo direttamente "grub. Quindi possiamo lanciare senza modifiche permanenti:. Grub, supporta anche l'avvio di altri boot-loaders, quest'operazione è chiamata "ChainLoading", ed è usata ad esempio quando si vuole installare un sistema Linux in dual boot con un sistema Windows, in quanto per avviare quest'ultimo viene lanciato il suo boot-loader.

Il file grub. Da questo file possiamo:. The file grub. Per una procedura di installazione semplificata basta eseguire:. E' possibile anche proteggere singole voci di menu ad esempio le recovery mode, o alcuni sistemi operativi , questo è possibile andando a modificare il file grub. Per bypassare grub, possiamo aggiungere all'opzione da bootare attraverso il comando "e" da grub, la stringa:.

Col comando "uname" richiedo informazioni sul sistema. Un altro programma molto utile e leggero è "lshw", possiamo utilizzarlo al meglio se eseguito coi permessi di root, ci basterà eseguire:. Altro programma utile ancora è "hwinfo", questo è più dettagliato di "lshw" e per usarlo eseguiamo:. Altro programma ancora è "inxi", infatti questo è un programma molto completo e user-friendly per mostrare informazioni, vediamo alcuni esempi:. Un comando molto utile e dettagliato per creare report dell'hardware in html è "hardinfo", possiamo lanciarlo semplicemente eseguendo:.

Un programma che ci permette di visualizzare informazioni sulla memoria è Free, possiamo lanciarlo eseguendo "free" da terminale:. Per poter visualizzare informazioni per quanto riguarda la memoria rigida, vengono utilizzati solitamente i programmi:. Un tool molto utile per visualizzare lo spazio occupato e poter navigare nelle directory è "ncdu", una volta installato ci basterà eseguire:. Possiamo anche fare uso di strumenti come "fdisk" per visualizzare lo spazio totale di device non montati, questo è possibile attraverso il comando:.

However, this size is harder to read, so by default, the df and du output in most Linux distributions is in byte blocks. To explicitly specify byte blocks, use the -k option both utilities support this. The df program also has a -m option to list capacities in 1MB blocks and a -h option to take a best guess at what a person can read. Un comando molto versatile e più recente per gestire i moduli del kernel è "modprobe", l'utilizzo di questo comando quando possibile è sempre consigliato rispetto ai comandi "insmod" ed " rmmod" in quanto gestisce anche le dipendenze, vediamo alcuni esempi:.

Possiamo rendere permanenti le opzioni con cui carichiamo i moduli attraverso il file "modprobe. Esistono generalmente due strumenti per la diagnostica e la riparazione di partizioni di dispositivi di memoria:. You should never use fsck on a mounted filesystem because the kernel may alter the disk data as you run the check, causing runtime mismatches that can crash your system and corrupt files. There is only one exception: If you mount the root partition read-only in single-user mode, you may use fsck on it.

Nel caso volessimo forzare un check al prossimo riavvio di sistema possiamo creare un file nella directory radice della partizione chiamato "forcefsck" vuoto con:. Tutti i comandi "e2fsck" hanno gli stessi flag del comando "fsck" , quindi possiamo eseguire tutti i comandi sopra riportati anche con "e2fsck" per filesystem di tipo "ext". E' possibile anche utilizzare lo strumento "debugfs" per effettuare il debug di filesystem di tipo ext, ci permette quindi di operare con partizioni danneggiate e non, possiamo avviarlo con:.

Si aprirà un prompt, a cui potremmo dare i comandi trovati nella lista che compare col comando "help" digitato dal prompt di debugfs, sono disponibili tantissime opzioni, ed è molto chiaro il loro utilizzo attraverso la descrizione riportata; un caso d'uso potrebbe essere ad esempio un file che abbiamo cancellato e vogliamo recuperare, o controllare la frammentazione del disco o per un determinato inode, possiamo uscire dal programma attraverso la direttiva "quit".

Si ricorda che un'altra utility per visualizzare informazioni su una partizione ext é:. Possiamo recuperare file di test se conosciamo qualche stringa specifica del file, come stringa interna meglio o nome del file peggio con grep, ad esempio:. Smartmontools S. Monitoring Tools is a set of utility programs smartctl and smartd to control and monitor computer storage systems using the Self-Monitoring, Analysis and Reporting Technology S. Innanzitutto dobbiamo installare il pacchetto "smartmontools", quindi:. Una volta installato, avremo a disposizione il comando "smartctl" e il demone "smartd", vediamo alcuni esempi di comandi con smartctl:.

Nel caso il comando "smartctl -i" dovesse fallire, allora questo vuol dire che smartctl ha bisogno di informazioni aggiuntive sull'interfaccia utilizzata dal nostro device, dovremo quindi eseguire:. I due schemi più utilizzati peri sistemi Personal Computer sono:. Nei sistemi più recenti esiste un meccanismo più complesso composto da uno strato più ad alto livello rispetto al firmware, questo strato è chiamato UEFI Unified Extensible Firmware Interface e costituisce un'interfaccia tra il firmware e i sistemi operativi, in questo caso la tabella delle partizioni deve necessariamente essere GPT, almenochè il sistema non supporti la modalità CSM Compatibility Support Mode che permette di emulare la modalità BIOS, permettendo a sistemi che non supportano UEFI di avviarsi come se avessero BIOS.

I disk con tabella di partizionamento GPT sono comunque oggigiorno piu' frequenti, questo perche':. Per quanto riguarda schemi di partizionamento minimali possiamo distinguere alcune configurazioni possibili e comunemente utilizzate nella stragrande maggioranza dei casi. Queste verranno analizzate nelle sottosezioni seguenti. Per alcune features potrebbe essere necessaria una partizione da 1MB, questo accade ad esempio quando abbiamo più sistemi operativi diversi si parla di Windows , dove i bootloader magari hanno bisogno di più spazio, in quanto non ci stanno tutti nei byte del boot sector.

There will be 1. FAT32 Flags: EF00 Label: ESP Mount point: None Code: SWAP Mount point: BOOT Mount point: ROOT Mount point: HOME Mount point: Unformatted Flags: EF02 Label: Not Applicable Mount point: Not Applicable. Primary File system: None Label: Remainder of disk Type: Extended File system: Not applicable Flags: Not applicable Mount point: Not applicable. Logical File system: NTFS Flags: NTFS Mount point: Nota sulla partizione di swap: Inoltre è bene tenere a mente che la partizione di swap deve essere almeno della dimensione della " RAM" nel caso si volesse utilizzare l'opzione di sospensione del computer.

Un Hard Disk, è composto da uno o più piatti magnetici, su questi piatti magnetici c'è un braccio elettro-meccanico che simile ad un disco in vinile scorre delle circonferenze, che vengono chiamate cilindri, in quanto in una vista 3D, più circonferenze su piatti diversi e quindi aventi lo stesso asse, possiamo vederli come cilindri. Ci sono strumenti in Linux e su altri sistemi operativi che riportano il numero di cilindri e tracce, ma questo numero è in realtà fittizio, in quanto, non tiene conto di molti fattori caratteristici dei moderni dispositivi di memoria; infatti il sistema operativo utilizza l'LBA Logical Block Addressing per fare riferimento ad uno specifico blocco dell'HDD.

Un file utile a vedere dove inizia una partizione è:. Un'altra opzione potrebbe essere quella di copiare una tabella delle partizioni da un device all'altro, questo è possibile attraverso un programma chiamato "sfdisk", vediamo come:. Una volta che le partizioni sono state create, avremo sda1, sda2, eccetera, possiamo poi formattarle utilizzando il comando mkfs, ad esempio:. Parted non chiede di confermare le modifiche all'utente, le applica direttamente, quindi attenzione a quello che si fa, inoltre per impratichirci possiamo provare ad eseguirlo su un dispositivo USB su cui abbiamo dati non importanti.

Il programma "parted", è un tool molto comodo per gestire le partizioni in quanto supporta sia i sistemi MBR che GPT, vediamo come usarlo:. Prima che il computer possa usare qualsiasi dispositivo di memoria come Hard Drive, CD-ROM o dischi di rete , il sistema operativo deve renderlo accessibile attraverso il filesystem del sistema in uso; questo processo è chiamato "mounting", e noi possiamo accedere ai file solo di dispositivi che sono stati montati. Nel caso non conoscessimo il tipo di filesystem di un determinato dispositivo, possiamo fare uso del comando:.

Nei casi precedenti sono stati creati solo filesystem di tipo "ext3" ma per sapere invece quali sono le opzioni disponibili col flag "-t" attraverso il comando mount, o comunque per capire cosa inserire in funzione di un determinato filesystem risultato da uno dei comandi precedenti, allora possiamo usare "man mount"; oppure eseguire un:. Per abilitare il diritto di poter scrivere, leggere o eseguire su un dispositivo di memoria esterno, abbiamo due opzioni:. Per poter gestire file immagine, sfruttiamo la funzionalità di loopback del kernel di linux, quindi possiamo creare un device virtuale per contenere l'immagine, possiamo eseguirlo con:. Per visualizzare le partizioni montate in un determinato istante possiamo procedere in 3 modalità analoghe:.

Un buon programma per recuperare file da partizioni corrotte o file che sono stati cancellati su partizioni ntfs è "testdisk". Una volta avviato con i diritti di root i. Aggiungere una voce al file fstab è semplice, è bene tenere a mente che generalmente è composto da 6 colonne:. E' sempre buona norma utilizzare gli UUID dei device, visualizzabili con comandi tipo "blkid", in quanto più sicuri rispetto all'indicare la partizione. Con il termine swap si intende, in informatica, l'estensione della capacità della memoria volatile complessiva del computer, oltre il limite imposto dalla quantità di RAM installata, attraverso l'utilizzo di uno spazio su un altro supporto fisico di memorizzazione, ad esempio il disco fisso.

L'uso dello swap è una delle tecniche impiegate dal sistema operativo per la gestione della memoria virtuale. Vediamo come impostare della memoria come swap su un sistema:. Questo file creato dovrebbe essere appartenente all'utente di " root" e con permessi "", quindi eseguiamo:. Quota è un famoso software utilizzato per gestire spazio su disco per gli utenti e per i gruppi. Innanzitutto dobbiamo installare i pacchetti "quota" e "quotatool", vediamo come fare su una macchina Debian-based:.

Solo se il quota è stato attivato attraverso un "quotaon" allora viene impedito agli utenti di superare i limiti imposti, quindi è bene tenere a mente di attivare quota dopo la configurazione per l'utilizzo. Abbiamo bisogno di un paio di applicazioni per configurare quota. Per controllare le configurazioni di quota per un particolare utente eseguiamo:. Oppure in alternativa possiamo lanciare:. Per una descrizione più approfondita di quota, è consigliato visualizzare la documentazione presente al link Documentazione Quota. In questa sezione vedremo alcuni strumenti che cipermetteranno di effettuare una manutenzione più semplice di quella che avverrebbe col programma "debugfs", attraverso i programmi:.

Per gestire filesystem di tipo "xfs" abbiamo bisogno di due pacchetti chiamati "xfsprogs" e "xfsdump", quindi su una distribuzione basata su debian faremo:. Il RAID originally redundant array of inexpensive disks; ora più comunemente redundant array of independent disks è una tecnica di raggruppamento di diversi dischi rigidi collegati ad un computer che li rende utilizzabili, dalle applicazioni e dall'utente, come se fosse un unico volume di memorizzazione.

Tale aggregazione sfrutta, con modalità differenti a seconda del tipo di implementazione, i principi di ridondanza dei dati e di parallelismo nel loro accesso per garantire, rispetto ad un disco singolo, incrementi di prestazioni, aumenti nella capacità di memorizzazione disponibile, miglioramenti nella tolleranza ai guasti. Vediamo come impostare il raid, supponiamo di avere 4 device chiamati "sdb", "sdc", "sdd" ed "sde", innanzitutto lanciamo:. Ora possiamo formattare md0 col filesystem che più preferiamo e il gioco è fatto; possiamo effettuare:. Avere un filesystem che supporta nativamente il RAID è di grande vantaggio, in quanto semplifica significativamente la creazione di un sistema RAID; il filesystem Btrfs supporta RAID, infatti per creare la stessa configurazione precedente, è possibile farlo con un comando:.

Btrfs ha diversi vantaggi rispetto ad ext4 ed altri filesystem, il vantaggio principale è quello di supportare nativamente gli snapshot, quindi fare snapshot del sistema e calcolare la differenza tra due snapshot sono operazioni molto leggere su questo filesystem. Per effettuare un tuning delle prestazioni o accedere alle configurazioni dei dispositivi di memoria, possiamo utilizzare una coppia di programmi:.

Vediamo alcuni esempi di comandi:. E' possibile criptare partizioni o interi dispositvi di memoria per aumentare la sicurezza attraverso LUKS Linux Unified Key Setup e cioè una specifica per la criptazione di dispositivi di memoria. E' doveroso criptare partizioni nel momento in cui vogliamo proteggere dei dati, dobbiamo considerare l'eventualità che la nostra macchina possa cadere nelle mani sbagliate o scenari simili.

Per poter criptare una partizione, dobbiamo innanzitutto installare il pacchetto "cryptsetup":. Per renderla leggibile, dobbiamo utilizzare un filesystem a nostra scelta, eseguiremo ad esempio:. Un'altra soluzione è Ecryptfs, questo ci permette di creare una directory sola criptata anzichè dover formattare per criptare l'intero disco. Dato un disco criptato con Bitlocker tipico software utilizzato su Windows , possiamo accedere utilizzando questi comandi:. LVM sta per Logical Volume Management e costituisce un sistema molto flessibile per la gestione delle partizioni.

Possiamo identificare tre elementi nella gestione organizzata secondo LVM:. Quando creiamo una partizione LVM, il tipo da associare via fdisk ad esempio è "8e", una volta preparata la partizione, supponiamo in questo caso che la partizione creata sia "sdb1", allora dobbiamo eseguire:. Il backup è una procedura molto flessibile utilizzando il sistema LVM, infatti è possibile creare dei veri e propri "snapshot" cioè stati del volume logico in un determinato istante di tempo.

Lo snapshot deve costituire un vero e proprio logical volume all'interno dello stesso volume group della logical volume di cui vogliamo effettuare il backup, ma questo avverrà in automatico in quanto ci basta solo indicare la logical volume di cui vogliamo effettuare il backup. Possiamo eseguire:. Many Linux and Unixoid users Unix and Unix-like systems have heard of window managers, window decorators, desktop environments, and such.

But what exactly are these and how do they relate to each other? I hope to clarify some of these topics and explain how it all works. GUIs typically have icons, windows, or graphics of some kind. Basically, with a CLI, users interact with the machine through text. Users type a command and the machine performs the action and provides text as the output. TUIs are still text-based, but the screen is more ornamented and organized. The Ncurses interface is an example of a TUI. More advanced TUIs may have a cursor. The "dialog" command used to make interfaces for scripts is an example of an advanced TUI. The core of most GUIs is a windowing system sometimes called a display server.

X11 is a protocol used by the common windowing system called Xorg used on Linux systems. Xorg, like other windowing systems, allows the movement of windows and input interactions such as the mouse and keyboard. Windowing systems provide the basic framework for other parts of the GUI. Windowing systems do not control the appearance of the GUI. Rather, the windowing system offers the core functionality. Not all graphical components above the display server are compatible with the display server itself. The part of the GUI that controls the way windows appear is called the window manager. Window managers manage the size and placement of windows.

Window managers also draw and own the close, maximize, minimize, etc. In other words, window managers control the frames that surround applications and the placement of these frames. The term "window decoration" refers to the usable part of the window frame like the close, minimize, etc. However, sometimes the window manager will allow the application to control the appearance of the window. To understand this, think about the "complete themes" in Firefox that change the appearance of the windows and scroll bars.

For example, the GTK toolkit defines how a window should appear. Then, a window manager draws and manages the window. When users customize the theme of their desktop, they are choosing which GTK design to use. To help clarify, toolkits like Qt and GTK are programming frameworks that specify the appearance of a theme. Different themes are basically different sets of code written in GTK, Qt, or some other widget toolkit. When a programmer designs a program, they may add some code that interfaces with a widget library like GTK or Qt to hard-code how a window appears.

Think about your desktop and notice how you may have a few programs that look like an entirely different theme compared to your other applications. Such "odd" applications may have their appearance hard-coded. Notice that some of the windows have an appearance that differs from the others Clementine is more gray and box-like wile the calculator has rounded buttons and a lighter color.

A virtual desktop refers to a desktop that is on the outside of the screen. Think about "workspaces" or "workspace switchers". You see your desktop, but there is more of it than what you see on the physical screen. In Ubuntu, the launcher on the side and the bar at the top are components of Unity. Cairo-Dock is an example of a dock that is its own entity. Their purpose is to give users access to file and applications.

However, they are also used for entertainment and security purposes. Screensavers can be set to activate when the workstation has not seen any activity from the user. Screensavers would then require a password to allows users to see the desktop and interact with the machine. Screensavers may be simple like a solid color or they can be graphics intensive like a video game.

In summary, a desktop environment is the collection or a bundled package of various GUI components. Each component performs some function in producing a graphical way of interacting with your machine. The windowing system think about Xorg is the lowest level portion of the GUI that controls the input interaction mouse and keyboard. The window manager puts applications in designated portions of the screen called "windows". Window managers provide a way to change the window size. Users may also use the window manager to close an application.

The widget toolkits provide a set predefined appearance that the window manager should draw. Such toolkits tell the window manager where to place the close, maximize, etc. Menus are also drawn by window managers after a toolkit declares how the menu should appear. Display managers a graphical login interfaces that allows users to login and choose the environment to load if the user has more than one environment installed. Docks and launchers allow users to access certain application and files. The desktop is an "invisible" background window that appears to be behind or at the bottom - below all of your other windows and docks.

The display server controls and manages the low-level features to help integrate the parts of the GUI. For instance, display servers manage the mouse and help match the mouse movements with the cursor and GUI events caused by the cursor. The display server also provides various protocols and communicates with the kernel directly. There are different sets of display server protocols and different display servers that implement a specific protocol. Display servers do not draw anything. They just manage the interface. Libraries, toolkits, and other software perform the drawing.

L'implementazione ufficiale open source di X è X. Org o più semplicemente XOrg , ed il suo sviluppo è curato dalla fondazione X. Org Foundation. In passato era necessaria la configurazione di un file di configurazione Xorg, questo file conteneva diverse sezioni per la configurazione del monitor, refresh rate, opzioni video eccetera, oggi questo file di configurazione non è più richiesto, in quanto i driver che installiamo della scheda video si occupano di configurare il tutto per noi. Nel caso volessimo visualizzare il file di configurazione che viene generato nel momento dell'installazione e della configurazione di xorg, possiamo farlo con:. Un comando utile fin da subito per uccidere tutti i processi del server grafico e quindi terminarlo è:.

Se volessi runnare altri desktop environment allora possiamo eseguire all'interno di un altro tty il comando:. In genere per fare troubleshooting sugli errori generati da X, possiamo ispezionare i seguenti file: Xorg ha tre clipboard, in cui vengono memorizzati i copia incolla, una utility molte efficace è "xclip", questa ci permette di copiare o incollare dati da terminale, ad esempio:. Despite the naming, all three are basically "clipboards".

Rather than the old "cut buffers" system where arbitrary applications could modify data stored in the cut buffers, only one application may control or "own" a selection at one time. This prevents inconsistencies in the operation of the selections. However, in some cases, this can produce strange outcomes, such as a bidirectional shared clipboard with Windows which uses a single-clipboard system in a virtual machine.

This can cause confusion and, in some cases, inconsistent or undesirable results from rogue applications. Di default "xclip" copia attraverso il buffer primario, quindi per incollare dobbiamo premere la rotellina del mouse. Xhost risulta molto utile nel momento in cui vogliamo che un server si occupi del carico grafico, mentre su una macchina remota vengano visualizzati solo i risultati all'interno del server grafico. E' possibile avviare desktop environment o window manager annidati attraverso Xnest. Oppure con un wrapper che semplifica queste operazioni e cioè Xephyr. Il programma xwininfo è molto utile per reperire informazioni sulle finestre attive su Xorg.

Vediamo subito alcuni esempi applicativi:. Gli ultimi comandi sono utili nel caso di programmazione di Desktop ENvironment, nel momento in cui facciamo riferimento a elementi di X. E' un comodo comando per fare il refresh del server X, nel caso in cui una o più parti devono essere ridisegnate. Questo comando è utile per capire le periferiche di input a disposizione, come ad esempio mouse eccetera, le loro features, e le eventuali configurazioni, possiamo eseguire:.

Il programma xwd X Window Dump è un utile tool per effettuare screenshot dello schermo, possiamo avviarlo con:. RandR "resize and rotate" is a communications protocol written as an extension to the X11[2] and Wayland[3] protocols for display servers. RandR is also responsible for setting the screen refresh rate. The program xrandr is a primitive command line interface to RandR extension used to manage monitor configurations, let's see some examples:. Vediamo un esempio, nel caso d'esempio supponiamo che la porta hdmi sia collegata ad una scheda video mentre la porta vga ad un'altra scheda video, allora possiamo eseguire:. Per poter creare una risoluzione personalizzata, ad esempio se non compare all'interno della lista di quelle rilevate anche se solitamente non e' proprio una buona idea possiamo provare a forzarla.

Ad esempio se volessimo forzare la modalita' x 60 Hz prima dobbiamo generare la linee di configurazione per questa modalita' e possiamo farlo attraverso:. DPMS Display Power Management Signaling is a technology that allows power saving behaviour of monitors when the computer is not in use. This will allow you to have your monitors automatically go into standby after a predefined period of time. Possiamo interagire con Xorg ad esempio mandando notifiche al Desktop Environment o al Window Manager, una volta installato " libnotify" con:. Basterà creare questi file se non esistono e al loro interno potremo scrivere i comandi da avviare all'avvio di X.

Recapitolando, startx è uno script che richiama:. Attenzione i file di configurazione discussi in questa sezione, sono validi solo nel momento in cui iniziamo la nostra sessione con "startx", in altri casi ad esempio gestione attraverso login manager la configurazione potrebbe essere diversa, e questi file potrebbero del tutto essere ignorati; fare quindi sempre riferimento alla configurazione del proprio login manager. Quando non si usa un login manager, e quindi si fa uso dello script "startx", dobbiamo inserire all'interno del file di autorun di X discusso a inizio sezione. Il file inittab, è un file atto a specificare il default runlevel del nostro sistema, anche se nella maggior parte delle distro recenti, in pratica da quando il gestore di demoni "systemd" ha sostituito "sysVinit" la mansione di questo file è stata delegata ad altri insiemi di file in determinate directory; vediamo innanzitutto alcuni comandi utili per gestire i runlevel:.

Che palle, questa la fai tu Jack, non ne vedo l'utilità. E' la lezione 16 della seconda parte del corso. Xorg, attualmente autoconfigura le impostazioni per l'ambiente grafico, esistono diverse directory dove sono collocati i file di configurazione, ad esempio, alcuni file di configurazione sono in:. La modalità standard per decidere che applicazioni avviare all'avvio di una sessione grafica di uno specifico utente, dobbiamo inserire il file ". Xdefaults o. Xresources usiamo xrdb e possiamo eseguire:. E' dalla configurazione del login manager che possiamo impostare le applicazioni che devono avviarsi al suo avvio.

Xmodmap" se non esiste e scriviamo al suo interno le seguenti stringhe ad esempio per eseguire un classico remap, cioè l'assegnazione del tast esc al tab:. Una volta effettuate le modifiche ci basterà eseguire:. Per altri esempi, e spiegazione della relativa grammatica, possiamo consultare l'efficace pagina di man di xmodmap. In questa sezione vedremo alcuni strumenti generali per la gestione dei driver Synaptics input driver per i touchpad Synaptics e ALPS che si trovano sulla maggior parte dei notebook. Uno strumento molto utile, incluso all'interno del pacchetto "xserver-xorg-input-synaptics", è molto semplice l'utilizzo, possiamo effettuare:.

Ora al suo interno possiamo inserire l'opzione in append al file, nella sezione specifica qui basta leggere un attimo con attenzione il file:. Once we know the MIME type string, we can use this string to understand which software is associated to this file with:. The XDG standard is the most common for configuring desktop environments.

Default applications for each MIME type are stored in mimeapps. They are searched in the following order, with earlier associations taking precedence over later ones:. E' importante parlare di interfacce quando si parla di networking, un'interfaccia è tutto quello che ci permette di avere un'indirizzo ip e una connessione, esempi di interfaccia possono essere:. A network socket is an endpoint of an inter-process communication across a computer network. Today, most communication between computers is based on the Internet Protocol; therefore most network sockets are Internet sockets. A socket API is an application programming interface API , usually provided by the operating system, that allows application programs to control and use network sockets.

Internet socket APIs are usually based on the Berkeley sockets standard. A socket address is the combination of an IP address and a port number, much like one end of a telephone connection is the combination of a phone number and a particular extension. Based on this address, internet sockets deliver incoming data packets to the appropriate application process or thread. Un socket, in informatica, nei sistemi operativi moderni, indica un'astrazione software progettata per poter utilizzare delle API standard e condivise per la trasmissione e la ricezione di dati attraverso una rete oppure come meccanismo di IPC interprocess communication, cioè comunicazione tra processi.

È il punto in cui il codice applicativo di un processo accede al canale di comunicazione per mezzo di una porta, ottenendo una comunicazione tra processi che lavorano su due macchine fisicamente separate. Dal punto di vista di un programmatore un socket è un particolare oggetto sul quale leggere e scrivere i dati da trasmettere o ricevere. Ci sono due tipi fondamentali di socket:.

Un socket di questo tipo è identificato dalla terna protocollo di trasporto, indirizzo IP del computer, numero di porta;. Un socket di questo tipo è identificato dalla 5-tupla protocollo di trasporto, indirizzo IP sorgente, indirizzo IP destinazione, numero di porta sorgente, numero di porta destinazione. I socket sono stati introdotti nel in BSD e poi sono stati ripresi da praticamente tutti gli altri sistemi operativi. Per questo motivo solitamente le funzioni di programmazione dei socket vengono chiamate Berkeley socket API.

Si consiglia di dare un'occhiata alla pagina inglese di wikipedia, per informazioni dettagliate sull'argomento. Una piccola tabella rappresentante gli indirizzi IP privati, questa scelta è stata fatta per la scarsità degli indirizzi pubblici con IPv4. Se abbiamo installato il pacchetto net-tools in cui risiede il comando ifconfig possiamo effettuare un:. Per le reti wifi, una volta veniva utilizzato "iwconfig", ma ora è deprecato e viene utilizzato invece al suo posto il programma " iw", mentre ifconfig è deprecato in favore di "ip".

Per conoscere il nostro IP esterno invece dobbiamo fare il retrieving da un sito esterno, il modo più semplice al momento è:. In pratica al posto di ifconfig e del relativo pacchetto di appartenenza "net-tools", che è ritenuto ormai deprecato, oggigiorno dovrebbe essere utilizzato ip e il relativo pacchetto " iproute2", vediamo alcuni comandi d'esempio:. La suite di comandi "iw" gestisce le interfaccie wireless. To connect to an AP you can use iw connect if the connection requires:.

Type specifies the operational mode of the wireless devices. Ricordiamo che alcuni device wifi usano un vecchio driver chiamato "wext" wireless extension e non i più recenti nl, per verificare se il nostro kernel ha abilitato il supporto wext possiamo eseguire:. Per scrivere gli script o ottenere informazioni sulla rete wifi, possiamo usare "wgetid", è un tool che ci fornisce informazioni in modo molto chiaro e veloce, molto utile per ottenere informazioni, ad esempio con "iwgetid -r" per ottenere il nome dell'access point a cui sono connesso.

Possiamo visualizzare la tabella di associazione indirizzo IP, mac address locale interrogando il sistema con:. Per fare in modo di disabilitare network manager dobbiamo disabilitareil corrispettivo demone, con ad esempio:. Si consiglia comunque di leggere il file qui sotto riportato per la gestione della configurazione di NetworkManager:. Possiamo configurare un bridge, con due schede di rete ethernet non wifi attraverso il programma "brctl", per vedere le opzioni disponibili eseguiamo:.

Possiamo connettere due computer tramite cavo ethernet cross oppure tramite classico cavo "straight" se le schede di rete almeno una delle due da verificare lo permettono, la configurazione è semplicissima, basta effettuare sulla macchina A:. Possiamo notare nel file che le linee che iniziano con "auto" servono ad identificare interfacce fisiche che vengono attivate col comando "ifup -a" o ad esempio negli script di sistema. Le riche "up" e "down" possono essere presenti per ogni interfaccia e indicano le operazioni da effettuare per "up" quando l'interfaccia viene accesa e per "down" quando l'interfaccia viene spenta, sono possibili anche direttive come "pre-up" e "post-down".

In questo caso dopo inet viene specificata la direttiva "dhcp", quindi viene usato il dhcp al posto di un indirizzo statico come nel caso precedente. Il comando "route" ci mostrerà il routing attivo sul nostro sistema, il comando mostra di default diverse colonne, ma le più importanti sono:. Questo flag indica che questa voce di routing è relativa al gateway, se questa voce non è presenta vuol dire che le due reti menzionate sono connesse direttamente.

Questo flag indica che la destinazione è un host, se non è presente, allora vuol dire che la destinazione è un intero network. Per gli altri campi, basterà leggere il manuale del comando "route". Per vedere la tabella di routing, eseguiamo:. Un'alternativa a route, se non si hanno i diritti di root e si vuole comunque visualizzare la tabella di routing è:. In realtà oggigiorno, "route" è deprecato, ed è consigliato l'utilizzo di "ip route", che ha comunque sintassi simile al comando precedente, basta solo aggiungere davanti "ip". You can use the route command's "-ifscope" option to bind a route to a specific interface. This lets you create multiple routes that point to the same destination, differentiated only by which interface is in play.

Routes so bound show up in netstat output with the I flag. Ping è un programma utilizzato a diversi scopi, possiamo testare reti per connettività, per misurare la congestione all'interno di una rete, scoprire indirizzi ip di hostname e in genere misurare la qualità di una rete. Vediamo alcuni esempi di ping:. Per poter visualizzare i vari host attraversati per arrivare ad un certo percorso di rete, possiamo utilizzare traceroute:. Vediamo un altro esempio di possibile riga risultante da traceroute:.

Skip to content. Dismiss Join GitHub today GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together. Sign up. Find File. Download ZIP. Sign in Sign up. Launching GitHub Desktop Go back. Launching Xcode Launching Visual Studio Fetching latest commit…. GNU Classpath is an open-source Java class library. Il comando pwd Una volta all'interno di un terminale, possiamo capire in che directory siamo situati attraverso il comando "pwd", possiamo quindi semplicemente lanciare pwd e vedere a schermo il percorso della directory corrente.

There are two reasons why we could need to use this: Our terminal doesn't show it we want to see the original path and not a symbolic link, for this we could use "pwd -P" Il comando export Questo comando serve a creare una variabile d'ambiente, vediamo un esempio: Vito Gusmano: NIsba su asset store e esattamente la stessa cosa che in privato. Se creo unpackage cosi me lo vendo da me usando i motori di ricerca che comunque non essendo pieni di questo "discorso" ti daranno lo spazio che ti serve.

Francesco Cucchiara: Ma se chiedi cosa cerchiamo in un package posso dirti che oltre alla funzionalità che è la base del package il supporto ai clienti è la parte più importante. Non solo come aiuto alla configurazione iniziale ma anche come aggiornamenti, features personalizzate, ecc. I miei assets sono bombardati da richieste del genere. Certo poi vanno mantenuti nel codice, ma ho gia pensatopure a questo e la cosa riguarda piu i package complementari che l'algoritmo di base che ho creato da solo e propongo.

Vediamo cosa posso fare.. Ma mi sono gia fatto fregareunavolta da asset store e no lo facco piu: Mirko Fenu. Salve a tutti, Ho iniziato da qualche mese ad usare unity, e mi vado a scontrare con un problema con gli script, e non riesco a venirne a capo. Ho realizzato un menu con un input shield e qualche tasto, per prendere confidenza con la UI, ho realizzato uno script di gestione che ho attaccato al componente Canvas, e ho collegato dall'inspector le variabili ai vari componenti Il problema é che appena avvio il gioco per prova, nell'inspector spariscono i riferimenti, e ovviamente niente funziona. Dove sbaglio? Grazie in anticipo. Mirko Fenu: Salve a tutti, problema risolto aggiungendo GameObject.

Find "nome oggetto". Ciao a tutti ho appena iniziato a lavorare su un progetto mio su unity vorrei sapere se c è un modo per connettere gli elementi tra loro come ad esempio dei pezzi di strada o dei palazzi. Si esatto. Allora valuta il mesh baker, o anche quelli che costano un po meno, potresti risparmiare qualcosa. Ok grazie qualche consiglio x lo script quello sarà la mia criptonite.

Ho messo delle mesh sul mio terrain e poi rimuovendole dal progetto sono rimaste li e non si cancellano. Quante luci con shadows attive hai in scena? Che midici invece degli fps ho solo una luce che fa ombre buttate a basso livello maora come ora la scena e unpo vuota.. In questi casi per verificare l'abbassamento degli FPS uso sempre il profiler per capire se è colpa della CPU quindi di qualche script o della GPU quindi della rendering pipeline.

Se non hai oggetti fisici in scena prova a fare un profiling e di sicuro troverai qual è il punto debole della scena. Andrea calderato. Salve a tutti! Qualcuno potrebbe farmi un tutorial su come utilizzare le variabili su playmaker? Quindi se la chiave e quella giusta e la porta e chiusa allora la apri, viceversa se la porta e aperta la chiudi o non fai niente. Andrea calderato: Grazie mille! Il mio problema e il seguente.. A parte questo, come posso raggrupapre tutta l'appliazione in un package, quali regole conviene seguire, perche se sposto i prefab o le cartelle perdo le dipendenze tra le variabili dentro applicazione. Che mi consigli di fare? Mi hanno respinto un intero set di automobili e camion low poly con relative texture uvw a px ma con texture non dettagliate, il lavoro era sul fattochepotevi crearti gia le tue di texture senzapensare ad altro..

Forum Ubuntu-it • [RISOLTO] Installare Git in Ubuntu 17 off line

Dichiarazione di non responsabilità: useremo Git come soluzione di controllo della versione. Anche se la tua è diversa, i concetti dovrebbero. runs on Cloud Azure. Prototyping Slot Machine with Unity3D engine lista di elementi. Per altre info potete andare sul mio repo di github all'indirizzo qui sotto . Contribute to gnebbia/gnu_linux_appunti development by creating an account on GitHub. configuration files); Games; File formats, conventions, and encodings ( ASCII, suffixes, dmidecode -t slot # # visualizza informazioni sugli slot In Ubuntu, the launcher on the side and the bar at the top are components of Unity. Il codice sorgente completo per l'app è memorizzato in GitHub. . di progettazione dei giochi, il libro Game Programming Patterns è molto utile. Non si può mettere questo Git in una USB e poi lanciarlo su Ubuntu?:cry: . -mm Produce machine-readable output (single -m for an obsolete format) ]] Show only devices in selected slots . KDE, Unity, Altri ambienti desktop e window manager, LXDE, MATE, Xfce, Personalizzazione dell'ambiente. Capitolo Utilizzo del controllo del codice sorgente Git con Unity //Create a new game object to use as proxy for all the MonoBehaviour methods texture assegnata a questo slot consentirà all'emissione di utilizzare i propri colori. tools e middleware come AdLib Visual Composer, Fasttracker, Unity e fmod. Viene rubata l'idea al suono delle slot machine, ovvero al suono della vincita.

Toplists