01. Bun venit în Linux
Bun venit la Facultatea de Automatică și Calculatoare și la cursul „Utilizarea Sistemelor de Operare” (USO)! Cursul „Utilizarea Sistemelor de Operare” vă ajută să faceți primii pași în lumea calculatoarelor, în lumea sistemelor de operare și în lumea Linux. Să începem!
Acesta este un laborator de USO. Într-un laborator vom lucra practic cu sistemul de operare, cu window managerul Sway, procese, utilizatori, servicii, rețea. Pe scurt cu toate componentele expuse unui utilizator de sistemul de operare.
În acest laborator vă prezentăm resursele pe care le veți folosi la USO și veți face primii pași în utilizarea Linux.
Obiective
Fiind un laborator introductiv, obiectivele sunt:
- Să vă cunoașteți colegii de laborator și asistentul; să creăm o atmosferă informală
- Să aflați ce resurse sunt disponibile pentru cursul USO
- Să înțelegeți modul de lucru de la laboratorul de USO
- Să învățați să folosiți Sway cu ajutorul tastaturii: ferestre, spații de lucru și aranjări
- Să faceți primii pași în terminal: rulați comenzi, copiați, lipiți și șterge conținutul ecranului
- Să aflați pe scurt care sunt familiile de distribuții Linux
- Să înțelegeți ce este o mașină virtuală și să instalați o distribuție Linux pe aceasta
- Să vă conectați la un alt calculator ce rulează Linux folosind SSH
Să ne cunoaștem
Pentru început, să ne cunoaștem mai bine. Împreună cu asistentul, spuneți:
- numele: cum vă spun ceilalți, nu ce scrie în buletin
- din ce oraș / de la ce liceu veniți
- de ce ați ales această specializare
- care este prima impresie despre facultate
Asistentul vă mai pune întrebări. Puneți și voi întrebări asistentului de laborator și ce curiozități aveți.
Nu vrem să fim formali. Evitați expresii precum dumneavoastră sau persoana a doua plural. Suntem prieteni și învățăm împreună, ne ajutăm și discutăm cu plăcere.
Resursele cursului
Wiki (site-ul cursului pentru celelalte serii)
Link: https://ocw.cs.pub.ro/courses/uso/
Platforma wiki Open Courseware este locul unde găsiți materialele celorlalte serii: slide-urile de curs, exercițiile de laborator, linkuri către orar, programa, mașinile virtuale și alte resurse suplimentare necesare.
Microsoft Teams
Anunțurile și majoritatea discuțiilor (cu excepția suportului pentru teme) au loc în această echipă.
curs.upb.ro
Link: https://curs.upb.ro/
Aceasta este platforma online de cursuri a Facultății de Automatică și Calculatoare. La USO, ea este componenta dinamică a cursului, unde are loc comunicarea cu echipa. Atât pentru USO, cât și pentru celelalte materii care folosesc platforma Moodle, unde veți găsi::
- Linkuri către cursuri și laboratoare
- Anunțuri utile pentru voi
- Forum de discuții, unde puteți pune întrebări legate de curs sau de facultate
- Posibilitatea de a oferi feedback asistenților
- Link-uri către temele de casă și termenele limită pentru acestea
Informațiile despre conturi le găsiți pe pagina principală a site-ului.
Orice nelămurire cu privire la cursul sau laboratorul de USO, sau la materie în general, orice întrebare care are legătură cu USO sau cu facultatea, adresați-o pe forumul dedicat în cadrul materiei USO pe Moodle. Pe forumul de discuții de pe platforma Moodle veți primiți răspunsuri rapide, prompte și avizate la probleme legate de cursul de USO și activitățile acestuia. Folosiți cu încredere forumurile aferente atunci când nu sunteți la curs sau laborator și nu puteți discuta direct cu titularul de curs sau asistentul de laborator.
Înainte de a pune o întrebare, asigurați-vă că nu a mai fost pusă de altcineva înainte.
Contactați asistenții sau titularii de curs pe adresa de e-mail personală doar în cazuri de probleme private sau care nu interesează pe toți colegii voștri prezenți pe forum.
Vă rugăm să nu folosiți Facebook pentru a comunica cu echipa USO. Folosiți forumurile de pe curs.upb.ro sau adresele de e-mail de pe pagina echipei pentru discuții private.
Pagina de Facebook
Link: https://www.facebook.com/uso.acs
Pagina de Facebook este locul în care facem anunțuri despre USO și pentru activități de comunitate și pentru aflarea de informații (de multe ori amuzante) din lumea calculatoarelor.
Clusterul NCIT al facultății
Link: https://cloud.curs.pub.ro/
Clusterul NCIT al facultății, care poate fi accesat prin procesorul front-end fep.grid.pub.ro folosind protocolul SSH, este o resursă pe care o veți folosi pentru teme și pentru testul practic. Vă autentificați cu aceleași date pe care le folosiți pentru platforma Moodle (https://curs.upb.ro/).
Infrastructura cloud din clusterul NCIT se bazează pe soluția open-source OpenStack. Aceasta este o soluție IaaS (Infrastructure as a Service) și va fi folosită pentru a crea în cloud mașinile virtuale pentru testele practice.
Suport (probleme)
Link: https://support.upb.ro/
Platforma pe care puteți deschide un tichet dacă aveți probleme cu adresa de e-mail @stud.acs.upb.ro sau cu contul cu care intrați pe platforma Moodle (adică pe site-ul https://curs.upb.ro).
Repository-ul Git USO
Link: https://github.com/systems-cs-pub-ro/uso
Repository-ul Git al cursului USO este locul unde găsiți materialele suplimentare necesare pentru laborator și, unde este cazul, codul sursă al soluțiilor.
Resurse
- Razvan Deaconescu, Razvan Rughinis, Mihai Carabas, Alexandru Radovici, Utilizarea Sistemelor de Operare, Printech 2021
- Brian Ward, How LINUX Works, ediția a 3-a, No Starch Press, 2021
- Site-ul oficial Sway
- Wiki-ul Sway pe GitHub
- Arch Wiki - Sway - util chiar dacă nu folosiți Arch Linux
- Manualul de utilizare VirtualBox
- Arch Wiki - OpenSSH
- Paginile de manual:
man sway,man 5 sway,man ssh
O pagină de manual este documentația unui program, instalată pe calculatorul dumneavoastră. Deschideți una
scriind în terminal man urmat de numele programului (de exemplu man ssh). Derulați cu tastele săgeți și ieșiți cu
q.
Bun venit printre panourile Sway
Când folosim Windows, macOS sau GNOME, ferestrele sunt așezate una peste alta și le poți muta și redimensiona cu ajutorul mouse-ului. Sway funcționează altfel. Este un manager de ferestre de tip „tiling”: aranjează ferestrele automat astfel încât acestea să nu se suprapună niciodată și, împreună, să acopere întregul ecran. Când deschizi o fereastră nouă, celelalte se micșorează pentru a-i face loc. Totul se face cu ajutorul tastaturii.

La început pare ciudat, dar după câteva ore devine foarte rapid: nu mai aveți nevoie niciodată să mutați sau să redimensionați ferestre cu mouse-ul.
Sway este foarte mic. El doar gestionează ferestrele și afișează o bară sus sau jos pe ecran. Celelalte sarcini sunt făcute de programe mici, separate, de exemplu:
| Sarcină | Program |
|---|---|
| Terminal | foot |
| Lansator de aplicații (un meniu din care porniți programe) | rofi, wofi sau wmenu |
| Bara de stare | swaybar sau waybar |
| Manager de fișiere (pentru a naviga prin fișiere și directoare) | thunar |
Fedora oferă o ediție numită Fedora Sway, care vine cu Sway și cu toate
aceste programe deja configurate. Pe alte distribuții, Sway se poate instala cu managerul de pachete (de exemplu
sudo dnf install sway sau sudo apt install sway).
Primii pași în Sway
Tasta mod
Aproape toate scurtăturile din Sway încep cu o tastă specială numită tasta mod, scrisă $mod. Implicit,
aceasta este tasta Super (tasta cu logo-ul Windows). Așadar $mod + Enter înseamnă:
țineți apăsată tasta Super și apăsați Enter.
Dacă rulați Sway într-o mașină virtuală, sistemul gazdă ar putea să „fure” tasta Super. Dați mai întâi click în fereastra mașinii virtuale, ca hypervisorul să captureze tastatura (vedeți Capturarea tastaturii și a mouse-ului).
Esențialul
Dacă țineți minte doar acestea, puteți deja să folosiți Sway:
| Combinație de taste | Acțiune |
|---|---|
| $mod + Enter | Deschide un terminal |
| $mod + d | Deschide lansatorul de aplicații |
| $mod + săgeți | Mută focusul pe altă fereastră |
| $mod + 1 ... 9 | Trece la spațiul de lucru 1 ... 9 |
| $mod + Shift + q | Închide fereastra |
| $mod + Shift + e | Log Out |
Când Sway blochează ecranul, nu se afișează nimic: nici caseta de autentificare, nici câmpul pentru parolă, niciun mesaj, doar un ecran gol (în mod implicit, cu imaginea de fundal). Calculatorul nu s-a blocat. Trebuie doar să introduceți parola și să apăsați Enter. În timp ce tastați, în mijlocul ecranului apare un cerc mic. Dacă monitorul este oprit, apăsați mai întâi orice tastă sau mișcați mouse-ul pentru a-l reactiva.
Combinațiile de taste implicite
Nu trebuie să învățați tabelul pe de rost. Reveniți la el în timpul exercițiilor.
| Combinație de taste | Acțiune |
|---|---|
| $mod + Enter | Deschide un terminal |
| $mod + d | Deschide lansatorul de aplicații |
| $mod + Shift + q | Închide fereastra care are focusul |
| $mod + săgeți (sau h j k l) | Mută focusul la stânga / jos / sus / dreapta |
| $mod + Shift + săgeți (sau h j k l) | Mută fereastra care are focusul la stânga / jos / sus / dreapta |
| $mod + 1 ... 0 | Trece la spațiul de lucru 1 ... 10 |
| $mod + Shift + 1 ... 0 | Mută fereastra care are focusul pe spațiul de lucru 1 ... 10 |
| $mod + b | Următoarea fereastră se va deschide în dreapta |
| $mod + v | Următoarea fereastră se va deschide dedesubt |
| $mod + e | Comută între una lângă alta și una deasupra alteia |
| $mod + w | Aspect cu file |
| $mod + s | Dispunerea în stivă |
| $mod + f | Pornește / oprește modul fullscreen |
| $mod + r | Modul de redimensionare (săgețile redimensionează, Esc iese) |
| $mod + Shift + Space | Face fereastra care are focusul plutitoare / o pune înapoi în panouri |
| $mod + Space | Comutarea focusului între ferestrele dispuse în grilă și cele flotante |
| $mod + Shift + - | Ascunde fereastra care are focusul în scratchpad |
| $mod + - | Arată / ascunde fereastra din scratchpad |
| $mod + Shift + c | Reîncarcă fișierul de configurare |
| $mod + Shift + e | Log Out |
| $mod + tragere cu butonul stâng al mouse-ului | Mută o fereastră plutitoare |
| $mod + tragere cu butonul drept al mouse-ului | Redimensionează o fereastră |
De ce h j k l? Vin de la editorul de text vi, unde înseamnă stânga,
jos, sus și dreapta. Mâna rămâne în mijlocul tastaturii. Puteți folosi în schimb săgețile, deoarece fac același lucru.
vi a fost creat de Bill Joy în 1976, într-o perioadă în care tastaturile nu aveau, de obicei, taste separate pentru săgeți. El a folosit un
terminal ADM-3A, pe care săgețile erau imprimate direct pe tastele h j k
l, astfel încât aceste litere au devenit modalitatea de a deplasa cursorul. Aceeași tastatură avea, de asemenea, tasta Esc
în locul unde se află astăzi tasta Tab, motiv pentru care vi folosește atât de des tasta Esc. Multe programe folosesc și astăzi aceste taste:
vim, less, man și, desigur, Sway.
Concepte de bază
Focusul
În orice moment, exact o singură fereastră are focus: aceasta este fereastra în care se înregistrează ceea ce tastezi. În Sway, fereastra cu focus are o margine colorată. Când tastezi și „nu se întâmplă nimic”, verificați care fereastră are focus.

Spațiile de lucru
Un spațiu de lucru (workspace) este ca un ecran separat. Puteți ține browserul pe spațiul de lucru 1, terminalele pe spațiul de lucru 2 și player-ul de muzica pe spațiul de lucru 3, și treceți de la unul la altul cu $mod
- un număr. Bara din partea de sus a ecranului arată spațiile de lucru folosite. Un spațiu de lucru dispare automat când este gol și îl părăsiți.

Aranjările
Ferestrele dintr-un spațiu de lucru pot fi dispuse în unul dintre cele patru moduri:
| Dispunere | Combinatii de taste | Ce se vede |
|---|---|---|
| Alături unul de altul | $mod + e | Ferestre alăturate, de la stânga la dreapta |
| Una deasupra celeilalte | $mod + e (apăsați din nou) | Ferestre suprapuse, de sus în jos |
| Cu file | $mod + w | O singură fereastră la un moment dat, cu file în partea de sus, ca într-un browser web |
| Stivuire | $mod + s | O singură fereastră la un moment dat, cu o listă de titluri în partea de sus |
| Împărțit: browserul în stânga, două terminale unul deasupra celuilalt în dreapta | Cu file: browserul și două terminale |
|---|---|
![]() | ![]() |

$mod + b și $mod + v nu faceți nimic imediat. Acestea îi indică unde se va deschide următoarea fereastră. Apăsați una dintre ele, apoi deschideți un nou terminal pentru a vedea efectul.
Ferestrele plutitoare
Unele ferestre (ferestre de dialog mici, calculatorul) arată mai bine așezate deasupra celorlalte. Acestea sunt ferestre plutitoare. Poți face orice fereastră să plutească apăsând $mod + Shift + Space, iar pentru a o readuce în modul de afișare în casete, apasă din nou aceleași taste.

Scratchpadul
Scratchpad este un loc ascuns pentru ferestrele de care ai nevoie doar din când în când. Ascunde o fereastră acolo folosind $mod + Shift + - și readu-o la vedere, în orice spațiu de lucru, cu $mod + -.
Modul de redimensionare
După apăsarea tastelor $mod + r, tastele săgeată redimensionează fereastra care are focusul, în loc să mute focusul. Apăsați Esc pentru a reveni la starea normală.
Unelte
Sway în sine se ocupă doar de afișarea ferestrelor pe ecran. Aproape tot ce vezi și folosești (bara, terminalul, lansatorul de aplicații, ecranul de blocare, capturile de ecran) este realizat de mici programe separate, iar Sway pur și simplu le execută ca comenzi în fundal. De exemplu:
- $mod + Enter este doar o combinație de taste care rulează comanda
foot(terminalul); - $mod + d este o combinație de taste care rulează lansatorul de aplicații.
În fișierul de configurare, aceasta apare sub forma bindsym $mod+Return exec foot: „când se apasă această tastă, se execută această
comandă”. Aceasta înseamnă că poți rula și tu toate aceste programe, tastând numele lor într-un
terminal, și că poți modifica comportamentul desktopului tău schimbând comenzile (vezi
Modding Sway).
Blocarea ecranului
swaylock blochează ecranul. Executați-l într-un terminal și ecranul se blochează imediat:
swaylock
Rețineți că ecranul de blocare nu afișează nimic: introduceți pur și simplu parola și apăsați Enter pentru a-l debloca.
Opțiunea -f înseamnă fork: swaylock blochează ecranul și apoi trece în fundal, astfel încât terminalul
nu așteaptă să deblocați ecranul. Încercați: rulați swaylock într-un terminal și, după deblocare, observați când
reapare simbolul $; apoi faceți același lucru cu swaylock -f.
Capturi de ecran
Pe Sway, aplicațiile nu pot captura ecranul pe cont propriu. grim realizează captura de ecran:
grim ~/Pictures/full.png # tot ecranul
Pentru a vizualiza capturile de ecran, folosiți Thunar, managerul de fișiere instalat pe calculatoarele din laborator. Deschideți-l din
lansatorul de aplicații ($mod + d, tastați thunar) sau executând comanda thunar într-un terminal, accesați
folderul Pictures și faceți dublu clic pe o imagine pentru a o deschide.
Terminalul
Terminalul este instrumentul pe care îl veți folosi cel mai des, nu doar în acest laborator, ci și în întregul curs USO. Este o
fereastră în care introduceți comenzi în loc să faceți clic cu mouse-ul: scrieți o comandă, apăsați Enter, iar
calculatorul o execută și afișează rezultatul. Aproape tot ce veți face în laboratoarele următoare (lucrul cu fișiere,
utilizatori, procese, servicii și rețea) se desfășoară în terminal. În Sway, deschideți unul cu $mod +
Enter (terminalul implicit este foot). Deocamdată, aveți nevoie doar de noțiunile de bază de mai jos; terminalul și
shell-ul (programul care citește și execută comenzile), vor fi prezentate în detaliu în laboratoarele următoare.
Rularea comenzilor
Când terminalul este gata, afișează o linie care se termină cu semnul $, numită prompt. De obicei arată
așa:
[student@fedora ~]$
Simbolul $ înseamnă „Aștept comanda ta”. Tastează o comandă după acesta și apasă Enter pentru a o executa. În timp ce
comanda se execută, simbolul $ dispare; când comanda se termină, terminalul afișează un nou simbol $ pe o linie nouă, și
abia atunci poți tasta următoarea comandă.
De exemplu, sleep 5 nu face nimic timp de 5 secunde. Executați-o și observați: simbolul $ este „ascuns” timp de 5 secunde și reapare
abia când sleep se termină. Dacă tastați ceva între timp, aceasta nu este executată imediat ca o nouă comandă.
Dacă nu doriți să așteptați, apăsați Ctrl+C pentru a opri comanda și a readuce simbolul $.

Dacă nu vedeți simbolul $ la sfârșitul ultimei linii, o comandă încă rulează (sau este deschis un program precum nano
sau man). Așteptați să se termine, închideți programul sau apăsați Ctrl+C.
Câteva comenzi de care aveți nevoie în acest laborator:
| Comandă | Ce face |
|---|---|
whoami | Afișează numele tău de utilizator |
hostname | Afișează numele computerului |
ls | Afișează lista fișierelor din directorul curent |
sleep <secunde> | Așteaptă numărul de secunde specificat, apoi se oprește |
clear | Șterge ecranul terminalului (comanda rapidă Ctrl+L face aproape același lucru) |
ip a | Afișează adresele de rețea ale computerului |
nano <fișier> | Deschide un editor de text simplu (Ctrl+O salvează, Ctrl+X închide) |
exit | Închide terminalul (sau o conexiune SSH) |
Când ecranul este plin de mesaje vechi și nu mai știi ce ai tastat, execută comanda clear (sau apasă
Ctrl+L) pentru a începe din nou de la un ecran curat. Fișierele și programele tale nu sunt afectate: această comandă
curăță doar fereastra terminalului.
Copiere și lipire
În majoritatea aplicațiilor (browserul, editorul de text, managerul de fișiere) copiați cu Ctrl + C și lipiți cu Ctrl + V. Terminalul este diferit, pentru că acolo aceste taste au deja alt rol: Ctrl + C oprește (întrerupe) comanda care rulează. Așa că, în terminal, copierea și lipirea folosesc în plus tasta Shift:
| Combinație de taste | Acțiune în terminal |
|---|---|
| Selectați textul cu mouse-ul, apoi Ctrl + Shift + C | Copiază textul selectat |
| Ctrl + Shift + V | Lipește textul copiat la cursor |
| Selectați textul cu mouse-ul, apoi dați click cu butonul din mijloc al mouse-ului (rotița) | Copiere și lipire rapidă, fără nicio tastă |
| Ctrl + C | Nu copiază! Oprește comanda care rulează |
Prefixul Ctrl + Shift este destinat exclusiv terminalului. În orice altă aplicație (browserul, editorul de text, managerul de fișiere) continuați să folosiți combinațiile obișnuite Ctrl + C și Ctrl + V. Clipboardul este comun: textul copiat în terminal cu Ctrl + Shift + C poate fi lipit în browser cu Ctrl + V, iar textul copiat în browser cu Ctrl + C poate fi lipit în terminal cu Ctrl + Shift + V.
Selectarea textului și click-ul cu butonul din mijloc folosesc un al doilea clipboard, separat, numit primary selection. Funcționează în (aproape) toate aplicațiile Linux, nu doar în terminal, și nu schimbă ce ați copiat cu Ctrl + C.
Aveți grijă când lipiți comenzi copiate de pe o pagină web. Dacă textul se termină cu o linie nouă, comanda rulează imediat, înainte să apucați să o citiți. Lipiți doar comenzi pe care le înțelegeți.
Distribuții Linux
Linux în sine este doar kernelul, nucleul sistemului de operare. Ca să aveți ceva ce puteți folosi efectiv, aveți nevoie și de un shell, de unelte, de o interfață grafică, de aplicații și de o modalitate de a instala programe noi. O distribuție Linux (sau distro) pune toate acestea împreună într-un sistem de operare complet.
Există sute de distribuții, dar cele mai multe fac parte din câteva familii. Cea mai mare diferență dintre familii este managerul de pachete, programul cu care instalați aplicatii.
| Familie | Exemple | Instalați un program cu |
|---|---|---|
| Debian | Debian, Ubuntu, Linux Mint | sudo apt install <nume> |
| Red Hat | Fedora, RHEL, CentOS Stream | sudo dnf install <nume> |
| Arch | Arch Linux, Manjaro | sudo pacman -S <nume> |
| SUSE | openSUSE | sudo zypper install <nume> |
Multe distribuții vin în mai multe variante (numite și spins sau ediții): același sistem, dar cu altă interfață grafică. De exemplu, Fedora Sway este Fedora cu Sway în locul desktopului implicit GNOME.
Calculatoarele din laborator rulează Fedora, așa că veți folosi managerul de pachete dnf. Dacă sunteți curioși de
alte distribuții, dați click aici pentru una aleatorie.
Mașini virtuale
O mașină virtuală (Virtual Machine, VM) vă permite să rulați un sistem de operare ca pe o aplicație. Ea rulează un sistem de operare complet (oaspetele, guest) într-o fereastră a sistemului de operare real (gazda, host). Oaspetele crede că are propriul procesor, propria memorie, propriul disc și propria placă de rețea, dar de fapt le împarte pe ale gazdei. Programul care face acest lucru posibil se numește hypervisor.
La ce folosește?
- Puteți încerca o distribuție nouă fără să atingeți sistemul real.
- Dacă stricați ceva în mașina virtuală, calculatorul dumneavoastră nu este afectat.
- Puteți salva starea unei mașini virtuale (un snapshot) și puteți reveni la ea mai târziu.
- Serverele de pe internet rulează foarte des în mașini virtuale.
Cele mai folosite programe pentru mașini virtuale sunt:
| VirtualBox | VMware Workstation / Fusion | QEMU | |
|---|---|---|---|
| Preț | Gratuit | Gratuit pentru uz personal | Gratuit |
| Rulează pe | Windows, macOS, Linux | Windows, macOS | orice arhitectură de procesor importantă |
| Potrivit pentru | Începători, este ușor de folosit | Performanță mai bună | Utilizatori avansați, multe tipuri de procesoare |
Ca să instalați un sistem de operare într-o mașină virtuală, aveți nevoie de imaginea ISO a acestuia: un singur
fișier (cu extensia .iso) care conține programul de instalare, ca un DVD virtual. O descărcați de pe site-ul
distribuției.
Descărcați imaginea ISO potrivită pentru procesorul calculatorului vostru. Majoritatea PC-urilor sunt
x86_64 (iar arhitectura lor se numește amd64), în timp ce Mac-urile Apple noi (M1, M2, ...) sunt arm64 (iar
arhitectura lor se numește aarch64).
Crearea unei mașini virtuale în VirtualBox
Vom folosi VirtualBox, care este instalat pe calculatoarele din laborator.
- Deschideți VirtualBox și dați click pe New.
- Dați-i un nume mașinii virtuale și alegeți imaginea ISO (găsiți câteva în directorul
Downloads/). - Setați memoria (RAM) la 4 GB și numărul de procesoare (CPU) la 2.
- Creați un hard disk virtual de 20 GB.
- Înainte să porniți mașina virtuală, deschideți Settings și verificați setările din tabelul de mai jos.
- Dați click pe Start. Mașina virtuală pornește de pe imaginea ISO și puteți rula programul de instalare.
- Urmați pașii programului de instalare. De cele mai multe ori, opțiunile implicite sunt bune. Când vă creați
utilizatorul:
- alegeți un nume de utilizator simplu (de exemplu
student) și o parolă pe care o țineți minte; - dacă programul de instalare afișează o opțiune precum Make this user administrator, bifați-o. Fără ea,
sudonu va funcționa și nu veți putea face exercițiile cu SSH.
- alegeți un nume de utilizator simplu (de exemplu
- La final, programul de instalare vă cere să reporniți. După repornire, ar trebui să vedeți ecranul de autentificare al sistemului instalat.
Dacă după repornire mașina virtuală pornește din nou programul de instalare în loc de sistemul instalat, imaginea ISO este încă atașată. Opriți mașina virtuală, deschideți Settings → Storage, selectați imaginea ISO de la unitatea optică și scoateți-o, apoi porniți din nou mașina virtuală.
| Setare | Valoare | De ce |
|---|---|---|
| Display → Graphics Controller | VMSVGA | Necesar pentru unele interfețe grafice |
| Display → Video Memory | 128 MB | |
| Display → Enable 3D Acceleration | bifat | Necesar pentru unele interfețe grafice |
| Network → Adapter 1 | NAT | Mașina virtuală are acces la internet pe orice rețea |
| Network → Adapter 1 → Advanced → Port Forwarding | Portul 2222 al gazdei → portul 22 al oaspetelui | Ca să vă puteți conecta mai târziu la mașina virtuală cu SSH (vedeți Redirectarea porturilor) |
Capturarea tastaturii și a mouse-ului
Tastatura și mouse-ul sunt partajate între gazdă și mașina virtuală, așa că hipervizorul trebuie să decidă cui îi revine fiecare tastă pe care o apeși. Când faceți clic în interiorul ferestrei mașinii virtuale, hipervizorul preia controlul asupra tastaturii și mouse-ului: de acum înainte, apăsările de taste sunt direcționate către mașina virtuală, nu către gazdă. Pentru a le restitui gazdei, apăsați tasta Host (în VirtualBox, implicit tasta din dreapta Ctrl). Mica pictogramă a tastaturii din colțul din dreapta jos al ferestrei VirtualBox indică cine deține controlul asupra tastaturii în acest moment.
Fiecare hypervisor folosește altă combinație de taste pentru a elibera tastatura și mouse-ul:
| Hypervisor | Eliberează tastatura și mouse-ul | Comută fullscreen | Trimite Ctrl+Alt+Del mașinii virtuale |
|---|---|---|---|
| VirtualBox (Windows, Linux) | Ctrl din dreapta (tasta Host) | Host + F | Host + Del |
| VirtualBox (macOS) | ⌘ Command din stânga | Host + F | Host + Del |
| VMware Workstation (Windows, Linux) | Ctrl + Alt | Ctrl + Alt + Enter | Ctrl + Alt + Insert |
| VMware Fusion (macOS) | Ctrl + ⌘ Command | Ctrl + ⌘ Command + F | Meniul Virtual Machine → Send Key |
| QEMU | Ctrl + Alt + G sau Ctrl din stânga + Alt din stânga | Ctrl + Alt + F sau meniul View → Fullscreen | Meniul Machine, monitorul QEMU sau meniul Send Key |
În VirtualBox puteți schimba tasta Host din File → Preferences → Input → Virtual Machine → Host Key Combination. Și celelalte hypervisoare vă permit să schimbați aceste combinații din preferințe, așa că un calculator configurat de altcineva poate folosi alte taste.
Asta contează mult pentru tasta Super (tasta cu logo-ul Windows). Atât gazda, cât și oaspetele vor să o folosească: GNOME deschide cu ea ecranul de ansamblu, iar Sway o folosește pentru aproape toate scurtăturile. Dacă tastatura nu este capturată, gazda primește Super, iar mașina virtuală nu o vede niciodată.
- Dați întotdeauna click în fereastra mașinii virtuale înainte să folosiți scurtături cu Super în ea.
- Verificați dacă este activată opțiunea Auto Capture Keyboard (în VirtualBox: File → Preferences → Input).
- Dacă gazda tot reacționează la Super, puneți mașina virtuală în fullscreen (în VirtualBox: View → Full-screen Mode sau Host + F). Apăsați din nou aceleași taste ca să ieșiți din fullscreen.
Dacă vă simțiți „blocați” în mașina virtuală (mouse-ul nu iese din fereastră sau scurtăturile gazdei nu funcționează), apăsați combinația de eliberare a hypervisorului din tabelul de mai sus (în VirtualBox, o dată tasta Host).
Snapshoturi
Un snapshot salvează starea completă a unei mașini virtuale la un moment dat. În VirtualBox, selectați mașina virtuală, deschideți secțiunea Snapshots și dați click pe Take. Dacă ceva nu merge mai târziu, selectați snapshotul și dați click pe Restore: mașina virtuală revine exact cum era. Faceți un snapshot imediat după fiecare instalare reușită.
Acces la distanță
SSH (Secure Shell) vă permite să deschideți un terminal pe alt calculator prin rețea. Tot ce scrieți este trimis, criptat, către celălalt calculator și rulează acolo. Așa sunt administrate serverele care nu au deloc ecran.
Sunt implicate două programe:
- serverul SSH (
sshd) rulează pe calculatorul la care vreți să ajungeți; - clientul SSH (
ssh) rulează pe calculatorul la care stați.
Ca să ajungeți la un calculator, aveți nevoie de adresa IP a lui, un număr precum 192.168.1.25 care îl
identifică în rețea, și de un port, un număr care îi spune calculatorului ce program trebuie să primească
conexiunea. Serverul SSH ascultă implicit pe portul 22. Pe Linux, ip a afișează adresa IP (căutați inet în
secțiunea plăcii de rețea, nu pe cea cu 127.0.0.1).
Redirectarea porturilor
Cu NAT, mașina virtuală este ascunsă în spatele gazdei, ca un calculator în spatele unui router de acasă. În
mașina virtuală, ip a afișează o adresă precum 10.0.2.15, dar această adresă există doar în interiorul
VirtualBox: gazda nu o poate folosi ca să ajungă la mașina virtuală. Soluția este redirectarea porturilor
(port forwarding): îi cerem lui VirtualBox să asculte pe un port al gazdei și să trimită tot ce ajunge acolo către
un port al mașinii virtuale.
gazda mașina virtuală
ssh student@localhost -p 2222 ──► VirtualBox ──► sshd pe portul 22
localhost (sau 127.0.0.1) este un nume special care înseamnă întotdeauna acest calculator. Așadar, când rulați
ssh -p 2222 student@localhost pe gazdă, vă conectați chiar la gazdă, pe portul 2222, iar VirtualBox trimite mai
departe conexiunea către portul 22 al mașinii virtuale. Folosim 2222 pentru că portul 22 al gazdei poate fi deja
folosit de serverul SSH al gazdei.
Ca să adăugați regula în VirtualBox:
- Selectați mașina virtuală, deschideți Settings → Network → Adapter 1 și verificați dacă este atașată la NAT.
- Extindeți Advanced și dați click pe Port Forwarding.
- Dați click pe butonul + și completați regula nouă:
| Name | Protocol | Host IP | Host Port | Guest IP | Guest Port |
|---|---|---|---|---|---|
| ssh | TCP | 127.0.0.1 | 2222 | (lăsați gol) | 22 |
- Dați click pe OK. Regula funcționează imediat, chiar dacă mașina virtuală rulează deja.
Conectarea la o mașină virtuală
Pe mașina virtuală (calculatorul la care vreți să ajungeți):
sudo systemctl enable --now sshd # pornește serverul SSH
Pe Fedora s-ar putea să trebuiască să permiteți conexiunea prin firewall folosind:
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --reload
sudo vă cere propria parolă (nu o parolă specială de administrator). După ce o scrieți corect, o ține minte
câteva minute, așa că nu v-o mai cere pentru fiecare comandă.
Când scrieți o parolă în terminal, nu apare nimic pe ecran: nicio literă, niciun punct, nicio steluță. Este normal și se face din motive de securitate. Scrieți oricum parola și apăsați Enter. Dacă greșiți, apăsați Ctrl+U ca să ștergeți ce ați scris și o luați de la capăt.
Pe gazdă (calculatorul din laborator):
ssh -p 2222 student@localhost # vă autentificați; înlocuiți "student" cu numele de utilizator din mașina virtuală
Prima dată, SSH vă întreabă dacă aveți încredere în calculator: scrieți yes. Apoi scrieți parola utilizatorului din
mașina virtuală. De acum, fiecare comandă pe care o scrieți rulează pe mașina virtuală. Scrieți exit ca să reveniți
pe gazdă.
Fără regula de redirectare a porturilor, ssh -p 2222 student@localhost răspunde Connection refused. Fără
-p 2222, ssh încearcă portul 22 al gazdei și ajungeți să vă autentificați pe gazdă, nu pe mașina virtuală.
Rulați hostname după autentificare ca să verificați unde sunteți.
În toate comenzile din acest laborator, student este doar un exemplu. Înlocuiți-l cu numele de utilizator pe care
l-ați creat în programul de instalare al mașinii virtuale.
SSH din Windows și macOS
Windows 10/11 și macOS au deja comanda ssh (în PowerShell sau în aplicația Terminal). Există și programe grafice,
precum PuTTY și
MobaXterm pentru Windows, sau Termius pentru toate sistemele.
În toate acestea, folosiți localhost ca nume al calculatorului și 2222 ca port.
Rezolvarea problemelor
| Problemă | Soluție |
|---|---|
| Am apăsat taste, dar nu s-a întâmplat nimic | Verificați ce fereastră are focusul (chenarul colorat). Într-o mașină virtuală, dați mai întâi click în fereastra ei |
| Super nu funcționează în mașina virtuală | Dați click în mașina virtuală ca să capturați tastatura sau puneți mașina virtuală în fullscreen (vedeți Capturarea tastaturii și a mouse-ului) |
| Mouse-ul nu poate ieși din fereastra mașinii virtuale | Apăsați tastele de eliberare ale hypervisorului (în VirtualBox, tasta Host, Ctrl din dreapta; vedeți tabelul din Capturarea tastaturii și a mouse-ului) |
| Sway nu pornește în mașina virtuală sau ecranul este negru | Activați 3D Acceleration și folosiți controlerul grafic VMSVGA în setările Display ale mașinii virtuale |
| Cursorul mouse-ului este invizibil în mașina virtuală | Adăugați export WLR_NO_HARDWARE_CURSORS=1 în ~/.bash_profile, apoi ieșiți din sesiune și autentificați-vă din nou |
ssh afișează Connection refused | Verificați regula de redirectare a porturilor (portul 2222 al gazdei → portul 22 al oaspetelui), dacă serverul SSH rulează în mașina virtuală (systemctl status sshd) și dacă ați deschis firewallul |
ssh m-a autentificat, dar hostname arată gazda | Ați uitat -p 2222, așa că v-ați conectat chiar la gazdă |
ssh afișează WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! | Ați reinstalat mașina virtuală sau o altă mașină virtuală folosește acum portul 2222. Rulați ssh-keygen -R "[localhost]:2222" pe gazdă și conectați-vă din nou |
Exerciții
Exercițiile sunt marcate pentru cele două tipuri de laborator:
- 🌱 de bază (1 oră - AC): faceți doar exercițiile marcate cu 🌱;
- 🌳 complet (2 ore - CD): faceți toate exercițiile, atât 🌱, cât și 🌳.
Ambele tipuri de exerciții acoperă părțile principale ale laboratorului: Sway, terminalul, mașinile virtuale și accesul la distanță. Dacă terminați mai devreme, continuați cu celelalte exerciții și apoi cu secțiunea Extra.
Să ne obișnuim cu Sway
Faceți exercițiile în ordine. Încercați să folosiți doar tastatura.
-
🌱 Uitați-vă în jur: Autentificați-vă în Sway. Uitați-vă la bară: găsiți numărul spațiului de lucru și ceasul? Mai este ceva pe ecran? → Bun venit printre panourile Sway
-
🌱 Primul terminal: Deschideți un terminal cu $mod + Enter. Scrieți
whoami, apoihostname, apoils. Închideți terminalul cu $mod + Shift + q. → Esențialul · Rularea comenzilor -
🌱 Panourile: Deschideți un terminal, apoi încă unul, apoi încă unul. Ce se întâmplă cu dimensiunea panourilor de fiecare dată când deschideți unul nou? Acum închideți-le unul câte unul și uitați-vă din nou. → Bun venit printre panourile Sway
-
🌱 Focusul: Deschideți trei terminale. Mutați focusul între ele cu $mod + săgeți. În fiecare terminal, scrieți un cuvânt diferit (de exemplu
unu,doi,trei) ca să fiți siguri că știți ce fereastră are focusul. → Focusul -
🌳 Tastele vi: Faceți din nou exercițiul anterior, dar folosiți $mod + h și $mod + l în loc de săgeți. → Combinațiile de taste implicite
-
🌱 Mutarea ferestrelor: Cu trei terminale deschise, mutați-l pe cel care are focusul complet în stânga, apoi complet în dreapta, folosind $mod + Shift + săgeți. → Combinațiile de taste implicite
-
🌱 Lansatorul: Apăsați $mod + d, scrieți primele litere din
firefoxși apăsați Enter. Folosiți din nou lansatorul ca să deschideți managerul de fișiere, Thunar (scriețithunar). → Esențialul -
🌳 Fullscreen: Puneți focusul pe browser și apăsați $mod + f. Apăsați din nou ca să reveniți. → Combinațiile de taste implicite
-
🌱 Spațiile de lucru: Treceți pe spațiul de lucru 2 cu $mod + 2 și deschideți acolo un terminal. Treceți pe spațiul de lucru 3 și deschideți încă unul. Treceți de câteva ori între spațiile de lucru 1, 2 și 3. Uitați-vă de fiecare dată la bară. → Spațiile de lucru
-
🌱 Mutarea pe alt spațiu de lucru: Puneți focusul pe browser și trimiteți-l pe spațiul de lucru 4 cu $mod + Shift + 4. Unde sunteți acum: pe spațiul de lucru 4 sau tot pe cel vechi? Treceți pe spațiul de lucru 4 și verificați dacă browserul este acolo. → Spațiile de lucru
-
🌳 Spații de lucru goale: Mutați singura fereastră de pe spațiul de lucru 3 pe spațiul de lucru 1. Uitați-vă la bară: ce s-a întâmplat cu spațiul de lucru 3? → Spațiile de lucru
-
🌱 Împărțirea: Pe un spațiu de lucru gol, deschideți un terminal. Apăsați $mod + v și deschideți al doilea terminal. Unde a apărut? Acum apăsați $mod + b și deschideți al treilea. Unde a apărut acesta? → Aranjările
-
🌳 Construiți o aranjare: Pe un spațiu de lucru gol, construiți asta: un terminal pe jumătatea stângă a ecranului și două terminale unul deasupra celuilalt pe jumătatea dreaptă. (Indiciu: deschideți două terminale, puneți focusul pe cel din dreapta, apăsați $mod + v, apoi deschideți al treilea.) → Aranjările
-
🌱 Taburi și stive: Deschideți trei terminale pe un spațiu de lucru gol. Apăsați $mod + w pentru taburi și treceți de la unul la altul cu $mod + săgeți. Apoi încercați $mod + s. Reveniți la aranjarea normală cu $mod + e. → Aranjările
-
🌱 Redimensionarea: Cu două terminale unul lângă altul, apăsați $mod + r și măriți-l pe cel din stânga cu săgețile. Apăsați Esc când ați terminat. → Modul de redimensionare
-
🌱 Ferestre plutitoare: Faceți un terminal plutitor cu $mod + Shift + Space. Mutați-l ținând apăsat $mod și trăgând cu butonul stâng al mouse-ului, și redimensionați-l trăgând cu butonul drept. Puneți-l înapoi în panouri cu aceleași taste. → Ferestrele plutitoare
-
🌳 Scratchpadul: Ascundeți un terminal în scratchpad cu $mod + Shift + -. Treceți pe alt spațiu de lucru și aduceți-l înapoi cu $mod + -. Apăsați din nou $mod + - ca să îl ascundeți. → Scratchpadul
-
🌳 Provocare - biroul dumneavoastră: Fără să folosiți mouse-ul, pregătiți următoarele:
- spațiul de lucru 1: browserul, în fullscreen;
- spațiul de lucru 2: două terminale unul lângă altul;
- spațiul de lucru 3: trei terminale în taburi.
Apoi treceți de câteva ori între cele trei spații de lucru. → Spațiile de lucru · Aranjările
-
🌳 Ieșiți și intrați din nou: Ieșiți din Sway cu $mod + Shift + e și autentificați-vă din nou. Mai sunt acolo ferestrele și spațiile de lucru? → Esențialul
Terminalul
- 🌱 Ecran curat: Deschideți un terminal și rulați
whoami,hostname,lsșiip a. Acum rulațiclear. Ce s-a întâmplat cu ecranul? Rulați din nou comenzile și de data aceasta apăsați Ctrl + L. Derulați în sus cu Shift + Page Up după fiecare dintre ele: mai vedeți rezultatele vechi? → Rularea comenzilor - 🌱 Din terminal în browser: Rulați
hostname. Selectați rezultatul cu mouse-ul și copiați-l cu Ctrl + Shift + C. Deschideți browserul, dați click în bara de căutare și lipiți-l cu Ctrl + V. Acum selectați un text de pe o pagină web și apăsați Ctrl + Shift + C în browser: s-a copiat textul sau s-a întâmplat altceva? (Închideți ce s-a deschis cu aceleași taste.) → Copiere și lipire - 🌱 Din browser în terminal: În browser, deschideți această pagină, selectați comanda
ip adin tabelul de la Rularea comenzilor și copiați-o cu Ctrl + C. Treceți în terminal și lipiți-o cu Ctrl + Shift + V, apoi apăsați Enter. Încercați și Ctrl + V în terminal: ce se întâmplă? → Copiere și lipire - 🌳 Dintr-un terminal în altul: Deschideți două terminale unul lângă altul. În primul, rulați
whoamiși copiați rezultatul. În al doilea, scriețiecho Salut,, lipiți numele de utilizator și apăsați Enter. → Copiere și lipire - 🌱 Ctrl+C nu copiază: Rulați
sleep 10și urmăriți promptul: când apare din nou$? Acum rulațisleep 100(o comandă care doar așteaptă 100 de secunde). Vedeți vreun$? Cât timp rulează, apăsați Ctrl + C. Ce s-a întâmplat cu comanda și cu$? Explicați de ce terminalul folosește Ctrl + Shift + C pentru copiere. → Rularea comenzilor · Copiere și lipire - 🌳 Butonul din mijloc: Rulați
ls, selectați cu mouse-ul unul dintre numele de fișiere (un dublu click selectează un cuvânt întreg) și lipiți-l cu butonul din mijloc al mouse-ului dupăls -l. Apoi lipiți-l și în bara de căutare a browserului, tot cu butonul din mijloc. Ați avut nevoie de vreo tastă? → Copiere și lipire
Uneltele Sway
- 🌳 Blocați ecranul: Într-un terminal, rulați
swaylock. Ce vedeți? Deblocați ecranul scriind parola și apăsând Enter. Apoi rulațiswaylock -c 000000șiswaylock -c 0000ff: ce schimbă opțiunea-c? (Indiciu:man swaylock.) → Blocarea ecranului - 🌳 Faceți o captură de ecran: Rulați
grim ~/Pictures/full.pngca să capturați tot ecranul. Acum rulațisleep 5; grim ~/Pictures/later.pngși, în cele 5 secunde, treceți pe alt spațiu de lucru. Deschideți Thunar, intrați în directorulPicturesși uitați-vă la ambele capturi: ce arată fiecare? → Capturi de ecran
Mașini virtuale
- 🌱 Instalați altă distribuție: Creați o mașină virtuală urmând pașii din
Crearea unei mașini virtuale în VirtualBox și atașați fișierul
.isoal unei distribuții (găsiți câteva în directorulDownloads/). Porniți mașina virtuală, rulați programul de instalare, creați un utilizator și setați o parolă. → Crearea unei mașini virtuale în VirtualBox - 🌱 Explorați oaspetele: Autentificați-vă în mașina virtuală, deschideți un terminal și rulați
whoami,hostnameșiip a. Rulați aceleași comenzi într-un terminal pe gazdă. Ce este diferit? Puteți ghici de ce adresa IP a mașinii virtuale începe cu10.0.2? → Mașini virtuale · Acces la distanță - 🌳 Capturarea tastaturii: Dați click în fereastra mașinii virtuale și apăsați Super. Apoi apăsați tasta Host și apăsați din nou Super. Ce sistem a reacționat de fiecare dată: mașina virtuală sau gazda? Urmăriți iconița de tastatură din colțul din dreapta jos al ferestrei mașinii virtuale. → Capturarea tastaturii și a mouse-ului
- 🌳 Faceți un snapshot: Opriți mașina virtuală și faceți un snapshot numit
fresh-install. → Snapshoturi - 🌳 Stricați și restaurați: Porniți mașina virtuală și creați un fișier cu
nano ~/test.txt. Opriți mașina virtuală și restaurați snapshotulfresh-install. Porniți din nou mașina virtuală: mai este acolotest.txt? De ce? → Snapshoturi
Acces la distanță
- 🌱 Conectați-vă prin SSH: Asigurați-vă că adaptorul de rețea al mașinii virtuale este NAT și adăugați
regula de redirectare a porturilor (vedeți Redirectarea porturilor). În mașina virtuală,
porniți serverul SSH și deschideți firewallul (vedeți Conectarea la o mașină virtuală).
Dintr-un terminal de pe gazdă, conectați-vă cu
ssh -p 2222 <utilizator>@localhost. Rulațihostnameca să verificați că sunteți pe mașina virtuală, apoi scriețiexit. → Redirectarea porturilor · Conectarea la o mașină virtuală - 🌳 Ușa greșită: De pe gazdă, rulați
ssh <utilizator>@localhostfără-p 2222. Ce se întâmplă? Unde ați fi dacă ar funcționa? Folosițihostnameca să verificați. → Redirectarea porturilor - 🌳 Două părți: Puneți fereastra mașinii virtuale și un terminal al gazdei unul lângă altul. Prin SSH, creați
un fișier cu
nano hello.txtși scrieți ceva în el. Apoi, într-un terminal din fereastra mașinii virtuale, rulațilsșicat hello.txt. Este același fișier? → Conectarea la o mașină virtuală
Întrebări de final
Folosiți ultimele 5 minute ale laboratorului ca să răspundeți la aceste întrebări împreună cu colegii și cu asistentul. La ultimele trei nu există răspunsuri greșite.
- Ce este un window manager cu panouri și prin ce diferă de Windows sau macOS?
- Ce înseamnă focusul în Sway? Cum știți ce fereastră îl are?
- Care este diferența dintre o fereastră, o aranjare și un spațiu de lucru?
- Ce vă spune
$de la sfârșitul promptului? Ce se întâmplă cu el cât timp rulează o comandă? - De ce terminalul folosește Ctrl + Shift + C pentru copiere, și nu Ctrl + C?
- Ce este o mașină virtuală? Care este gazda și care este oaspetele?
- De ce ați avut nevoie de
-p 2222ca să vă conectați la mașina virtuală prin SSH? - Cu ce v-a fost cel mai greu să vă obișnuiți în Sway?
- Ce a fost mai rapid cu tastatura decât cu mouse-ul?
- Ați folosi Sway pe calculatorul dumneavoastră? De ce?
Extra
-
Sway în mașina virtuală: Instalați Sway în mașina virtuală pe care ați creat-o, folosind managerul ei de pachete (vedeți tabelul din Distribuții Linux). Ieșiți din sesiune și alegeți Sway pe ecranul de autentificare. Refaceți câteva dintre exercițiile cu Sway în mașina virtuală. Funcționează scurtăturile cu Super? Dacă nu, încercați modul fullscreen. → Distribuții Linux · Capturarea tastaturii și a mouse-ului
-
Două spații de lucru, două calculatoare: Puneți mașina virtuală pe spațiul de lucru 2 al gazdei și terminalul cu SSH pe spațiul de lucru 1. Treceți de la unul la altul cu $mod + 1 și $mod + 2. → Spațiile de lucru · Acces la distanță
-
Alți window manageri cu panouri: Citiți despre i3, Hyprland sau niri. Ce au în comun cu Sway și ce este diferit? → Bun venit printre panourile Sway
-
Propria bară: Copiați fișierele Waybar în
~/.config/waybar/(vedeți Bara) și modificați-le:- în
config.jsonc, scoateți dinmodules-rightun modul de care nu aveți nevoie (de exemplu bateria, pe un calculator desktop); - în
config.jsonc, faceți ceasul să afișeze și secundele: setați-iformatla"{:%H:%M:%S}"și adăugați"interval": 1; - în
style.css, schimbațibackground-colorpentruwindow#waybarîntr-o culoare care vă place.
Reîncărcați Waybar după fiecare modificare. Dacă bara dispare, probabil ați greșit ceva în
config.jsonc: rulațiwaybarîntr-un terminal ca să vedeți eroarea. → Bara - în
Modding Sway
Toate combinațiile de taste de mai sus sunt scrise într-un fișier text. Cel implicit este /etc/sway/config. Ca să
îl modificați, faceți mai întâi o copie proprie (nu porniți niciodată de la un fișier gol, altfel nu veți avea nicio
combinație de taste):
mkdir -p ~/.config/sway
cp /etc/sway/config ~/.config/sway/config
nano ~/.config/sway/config
Liniile care încep cu # sunt comentarii și sunt ignorate. Câteva lucruri simple pe care le puteți schimba:
# Tasta mod: Mod4 este Super, Mod1 este Alt
set $mod Mod4
# Spațiul dintre panouri
gaps inner 10
# Aranjamente de tastatură: US și română, comutați cu Alt+Shift
input type:keyboard {
xkb_layout "us,ro"
xkb_variant ",std"
xkb_options "grp:alt_shift_toggle"
}
Salvați fișierul (Ctrl+O, Enter), ieșiți din nano (Ctrl+X)
și reîncărcați Sway cu $mod + Shift + c. Dacă ați greșit ceva, Sway afișează sus pe
ecran o bară roșie cu eroarea. Deschideți din nou fișierul și corectați-l.
Dacă după ce ați modificat fișierul nu mai funcționează nicio combinație de taste, apăsați
Ctrl+Alt+F3 (într-o mașină virtuală VirtualBox: Host+F3) ca să
obțineți o consolă text, autentificați-vă și rulați rm ~/.config/sway/config ca să reveniți la configurația
implicită. Dacă mașina virtuală încă acceptă conexiuni SSH, vă puteți conecta și cu ssh -p 2222 și puteți corecta
fișierul de pe gazdă.
Bara
Sway are o bară încorporată numită swaybar, configurată în blocul bar { ... } (vedeți man 5 sway-bar). Fedora
Sway folosește în schimb Waybar, o bară mult mai configurabilă. Waybar se configurează cu două fișiere:
~/.config/waybar/config.jsonc- ce module să afișeze (spații de lucru, ceas, baterie, rețea, volum, ...) și unde~/.config/waybar/style.css- aspectul barei, scris în CSS
Ca și la configurația Sway, începeți prin a copia fișierele implicite din /etc/xdg/waybar/:
mkdir -p ~/.config/waybar
cp /etc/xdg/waybar/* ~/.config/waybar/
Lista modulelor și a opțiunilor lor este pe Wiki-ul Waybar.
După ce modificați unul dintre aceste fișiere, reîncărcați Sway cu $mod + Shift + c sau cereți-i lui Waybar să își reîncarce fișierele cu:
killall -SIGUSR2 waybar

