Ai o întrebare despre produs, despre abonamente sau ai nevoie de ajutor? Scrie-ne și îți răspundem în cel mai scurt timp.
Program
Răspundem cu pași clari și, unde e cazul, ne conectăm direct la calculatorul tău ca să rezolvăm pe loc.
Ce înseamnă mesajele din aplicație și ce ai de făcut. Pe scurt: pentru acces nesupravegheat, sistemul trebuie să fie pe X11, nu pe Wayland.
Documentație
Care e mesajul tău
-
Primele trei apar pe un cartonaș galben, în stânga ferestrei. Ultimul apare ca eroare, când încerci să te conectezi. Alege-l pe al tău; primele două au aceeași rezolvare.
Pachetul merge pe
Debian 11+, Ubuntu 20.04+, Fedora, RHEL/AlmaLinux/Rocky 9+: îi trebuie
glibc 2.29 sau mai nou. Sub asta
programul se instalează dar nu pornește, iar semnul e limpede: la
pornire scrie version GLIBC_… not found. Poți verifica
dinainte ce ai pe mașină:
ldd --version | head -1
Nu trebuie să ții minte cifra: pachetul o cere explicit, deci apt sau dnf
refuză singure instalarea acolo unde n-ar merge, iar scriptul de la
syncdesk.ro/instalare.sh verifică înainte să descarce ceva.
Wayland și X11
Wayland este acceptat doar într-o formă experimentală. Folosește X11 dacă nu ai nevoie de acces supravegheat.
Ubuntu și Fedora pornesc implicit pe Wayland. Sub Wayland, niciun program n-are voie să vadă ecranul sau să miște mouse-ul decât dacă cineva, de la calculatorul acela, aprobă o fereastră de permisiune. Când e cineva de față, merge. Când calculatorul e singur în birou, n-are cine să apese.
Concret, cu Wayland pornit:
echo $XDG_SESSION_TYPE
Răspunde cu x11 sau cu wayland. Dacă scrie
x11, mesajul din aplicație nu e despre sesiunea ta, ci
despre ecranul de conectare - vezi secțiunea următoare.
E o singură linie într-un fișier, plus o repornire. Ai nevoie de drepturi de administrator.
1. Deschide fișierul ecranului de conectare
Ubuntu, Debian, Linux Mint:
sudo nano /etc/gdm3/custom.conf
Fedora, RHEL, AlmaLinux, Rocky:
sudo nano /etc/gdm/custom.conf
2. Scoate diezul de la începutul rândului
Rândul e deja scris în fișier, dar comentat. Caută-l și șterge
# din față, ca să arate exact așa:
WaylandEnable=false
3. Salvează și repornește calculatorul
În nano: Ctrl+O, Enter,
apoi Ctrl+X. Repornirea calculatorului e cea mai
simplă cale: comanda care repornește doar ecranul de conectare îți
închide oricum tot ce ai deschis, deci nu câștigi nimic din ea.
Acolo ecranul de conectare e SDDM, nu GDM, iar rândul se pune în
/etc/sddm.conf, sub [General]:
DisplayServer=x11
Deconectează-te, apasă rotița din colțul din dreapta jos al ecranului de conectare și alege Ubuntu on Xorg. Sesiunea ta va fi pe X11, dar ecranul de conectare rămâne pe Wayland, deci accesul nesupravegheat tot nu merge. E bun ca să încerci repede, nu ca să lași așa.
Ecranul de conectare
Ecranele de conectare care folosesc Wayland nu sunt acceptate.
Chiar dacă sesiunea ta merge pe X11, ecranul de conectare poate rula tot pe Wayland: sunt două lucruri diferite, pornite de programe diferite. Atunci, cât timp nu e nimeni autentificat - după o repornire, sau după ce omul s-a deconectat - te conectezi și vezi negru.
Citește /etc/gdm3/custom.conf (sau
/etc/gdm/custom.conf) și se uită la rândul
WaylandEnable. Dacă e comentat sau pus pe true,
te avertizează. Poți verifica și tu, cu aceeași măsură:
grep -i waylandenable /etc/gdm3/custom.conf
Exact pasul din secțiunea de mai sus: WaylandEnable=false,
fără diez, urmat de o repornire. Acela e rândul care mută
ecranul de conectare pe Xorg. Alegerea „Ubuntu on Xorg" de la
autentificare nu-l atinge, fiindcă ea schimbă doar sesiunea ta.
Ca să poți intra când nu e nimeni logat, SyncDesk trebuie să ruleze ca serviciu de sistem, nu doar cât timp e fereastra deschisă:
systemctl status syncdesk
Trebuie să scrie active (running). Dacă nu scrie:
sudo systemctl enable --now syncdesk
Serviciul există doar în pachet. Varianta AppImage e portabilă și nu instalează niciun serviciu, deci nu poate porni singură la pornirea calculatorului. Pentru acces nesupravegheat ia pachetul .deb sau .rpm.
Îți trebuie o parolă permanentă. Codul care apare în fereastră se schimbă la fiecare pornire, iar când nu e nimeni la calculator n-are cine să ți-l citească. O pui din Setări > Securitate, pe calculatorul la care vrei să ajungi.
SELinux
SELinux este activat pe acest sistem. Este posibil ca unele funcții să nu funcționeze corect. Te rugăm să consulți documentația pentru instrucțiuni de configurare.
SELinux e stratul de securitate al distribuțiilor Fedora, RHEL, AlmaLinux, Rocky și CentOS. Mesajul apare pentru că e pornit, nu pentru că a blocat ceva. Pe multe sisteme totul merge cu el pornit. Îl arătăm fiindcă, atunci când chiar nu merge ceva pe calculatorul la care te conectezi - nu se vede ecranul, nu răspunde mouse-ul - SELinux e primul lucru de verificat, și e greu de ghicit dacă nu-ți spune nimeni.
getenforce
Dacă răspunde Enforcing, SELinux blochează activ. Dacă la
tine totul merge, poți închide cartonașul din aplicație de la
x și nu mai apare.
1. Vezi dacă SyncDesk e printre cei blocați:
sudo ausearch -m avc -ts recent | grep -i syncdesk
Dacă nu iese niciun rând, nu SELinux e de vină și poți trece mai departe.
2. Dacă ies rânduri, fă o regulă doar pentru noi, nu o excepție pentru tot sistemul:
sudo ausearch -c syncdesk --raw | audit2allow -M syncdesk-local
sudo semodule -i syncdesk-local.pp
audit2allow vine din pachetul
policycoreutils-python-utils, dacă nu e deja instalat.
Vei găsi pe internet sfatul de a opri SELinux cu:
sudo setenforce 0
E bun ca să afli în zece secunde dacă el era problema, și revine singur la repornire. Nu e o soluție: lasă calculatorul mai puțin apărat decât l-ai găsit, și asta ca să meargă un program de acces la distanță, adică exact acolo unde nu vrei.
Server fără ecran
Xorg nu a fost găsit. Instalează Xorg.
Nu este disponibil niciun mediu desktop. Instalează mediul desktop GNOME.
SyncDesk preia un ecran. Pe un server instalat fără interfață grafică -
cum se instalează de obicei Ubuntu Server - nu există ecran de preluat.
Nu e o defecțiune, e exact ce ar trebui să se întâmple. Aplicația
verifică două lucruri: dacă programul Xorg e instalat, și dacă în
/usr/share/xsessions/ există măcar un mediu desktop. Poți
verifica și tu:
ls /usr/share/xsessions/
Ai chiar nevoie să vezi serverul acela? Dacă tot ce vrei e o linie de comandă, n-ai nevoie de nimic din ce urmează: SyncDesk are un mod Terminal, care îți dă direct un shell pe mașină, fără niciun ecran de preluat. Merge pe un server fără ecran exact așa cum e el acum.
Scrii ID-ul, apoi deschizi meniul mic de lângă butonul Conectare - acolo unde sunt și „Transfer fișier" și „Vezi camera" - și alegi Terminal. Pe un device din agendă e la fel, cu click dreapta pe el.
Primești un shell, nu un ecran. Nu pornește nimic grafic pe server și nu are nevoie de Xorg. E pornit din start; dacă nu-l vrei pe mașinile tale, îl stingi din Setări > Securitate, de la „Activează terminalul".
Mai departe e despre ecran. Merită doar dacă ai de folosit un program cu fereastră; pentru administrare obișnuită, terminalul de mai sus e mai rapid și nu te obligă să ții un mediu desktop pornit degeaba.
Ubuntu, Debian. Xfce în loc de GNOME: pe un server contează cât ține pornit, iar Xfce cere mult mai puțin. Merge oricare, aplicația se uită doar dacă există unul.
sudo apt install xorg xfce4
Fedora, RHEL, AlmaLinux, Rocky:
sudo dnf install @xfce-desktop-environment
Pe Debian și Ubuntu, Xorg pornit de un serviciu, nu de un om autentificat, e oprit de o regulă de securitate. Fără rândul de mai jos, ai instalat totul corect și tot nu vezi nimic:
echo "allowed_users=anybody" | sudo tee -a /etc/X11/Xwrapper.config
După el, repornește calculatorul.
Aici se opresc de obicei ghidurile, și de-aia nu merge nimic la capătul lor: ai instalat mediul grafic, dar pe un server nu e nimeni autentificat care să-l pornească. Trebuie să-l pornească SyncDesk, iar asta nu o face de la sine.
Pe serverul acela, în aplicație, deschide Setări > Securitate și bifează Pornește o sesiune grafică pe servere fără ecran. De aici încolo, când te conectezi, SyncDesk îți cere numele și parola unui cont de Linux de pe mașină, pornește un Xorg și un mediu desktop pentru contul acela, și îți dă sesiunea aceea.
Contul cerut e unul obișnuit, de Linux, nu are legătură cu contul de SyncDesk. Sesiunea trăiește cât ține conexiunea.
Parola permanentă
Pe un calculator cu ecran, parola permanentă se schimbă din Setări > Securitate. Pe un server fără ecran nu ai de unde: nu există fereastră. Comenzile de mai jos fac exact atât, nu instalează și nu descarcă nimic.
curl -fsSL https://syncdesk.ro/instalare.sh | sudo bash -s -- --schimba-parola
Ți-o cere ca passwd: nu se vede nimic pe măsură ce
tastezi, iar apoi o mai scrii o dată, ca să nu rămâi pe dinafară
dintr-o tastă greșită. Cel puțin 8 semne. Dacă apeși Enter fără să
scrii nimic, o generează ea. Sesiunile deschise în clipa aceea nu se
închid singure; parola nouă e cerută de la următoarea conectare.
curl -fsSL https://syncdesk.ro/instalare.sh | sudo bash -s -- --schimba-parola --genereaza
O generează, o pune, și ți-o arată. E singurul moment în care se poate citi, deci notează-o atunci. Tot asta se întâmplă și când comanda nu rulează la un terminal, într-un cron de pildă: n-are pe cine întreba, deci nu așteaptă.
curl -fsSL https://syncdesk.ro/instalare.sh | sudo bash -s -- --schimba-parola --parola 'parola-ta'
Merge, dar ține minte ce plătești pentru comoditate: o parolă scrisă
în comandă rămâne în istoricul shell-ului și se vede în
ps, la orice utilizator de pe mașină, cât ține comanda.
Când ești tu la tastatură, formele de mai sus sunt mai bune.
Aplicația are și ea o comandă, dar are o capcană care ne-a costat
o instalare: nu scrie parola în vreun fișier, o trimite
serviciului, iar serviciul nu e gata în aceeași clipă în care
pornește. Până atunci comanda răspunde
Connection refused și iese ca și cum ar fi
reușit.
sudo syncdesk --password 'parola-ta'
Uită-te la ce scrie, nu la faptul că s-a întors promptul.
Trebuie să răspundă Done!. Orice
altceva înseamnă că parola nu s-a pus, oricât de liniștit ar
părea. Dacă tocmai ai pornit serviciul, mai încearcă peste
vreo zece secunde.
Nu se poate citi de nicăieri, nici de noi: e ținută criptat pe mașină. Dar dacă mai ai un shell pe serverul acela, prin SSH sau altfel, o schimbi cu comanda de mai sus fără să pierzi nimic: ID-ul rămâne același, iar device-ul rămâne unde e în panou.
Dezinstalarea
Oprește serviciul, scoate pachetul, și șterge datele pe care le lasă în urmă: configurarea și jurnalele, din toate casele, nu doar a lui root. La final se uită ce a mai rămas și îți spune.
curl -fsSL https://syncdesk.ro/instalare.sh | sudo bash -s -- --dezinstaleaza
apt remove
Nu e o părere, e măsurat pe un server real:
apt remove lasă în urmă configurarea
și jurnalele. apt purge șterge doar
configurarea lui root, iar pe
.rpm nu există purge deloc.
Partea care surprinde: serviciul nu rulează întotdeauna ca root. Când mașina are o sesiune deschisă, el pornește sub utilizatorul acela și își ține configurarea în casa lui, cu tot cu parola permanentă și cheia device-ului. Aceea supraviețuiește și unui purge. Am reinstalat după purge și mașina a revenit cu același ID, din fișierul rămas acolo.
Device-ul rămâne în panou până îl ștergi de acolo, din Dispozitive. Comanda îți scrie ID-ul înainte să șteargă ceva, tocmai fiindcă după aceea nu se mai poate afla de nicăieri.
Dacă reinstalezi pe aceeași mașină, revine cu același ID: la noi ID-ul se calculează din numele mașinii și adresa de rețea, nu din fișierele șterse. Parola permanentă și cheia device-ului însă nu revin, alea erau în date.
Comanda de mai sus face exact atât. Pe Debian și Ubuntu:
sudo apt purge -y syncdesk
sudo rm -rf /root/.config/syncdesk /root/.local/share/logs/SyncDesk
for c in /home/*; do sudo rm -rf "$c/.config/syncdesk" "$c/.local/share/logs/SyncDesk"; done
sudo rm -rf /tmp/SyncDesk-*
Pe Fedora, RHEL sau AlmaLinux, în loc de primul rând,
sudo dnf remove -y syncdesk. Restul e la fel, și acolo
contează mai mult: rpm nu are purge, deci nu șterge
singur nicio configurare.
Întrebări
-
Da, dacă la calculatorul de la distanță e cineva care să aprobe partajarea ecranului la fiecare conexiune. Pentru sesiuni de ajutor date cuiva care stă în fața calculatorului, e în regulă. Pentru un calculator lăsat singur, nu: nu are cine să apese pe aprobare.
Aproape nimic din ce se vede la lucrul zilnic. X11 e ce a folosit Linux vreme de treizeci de ani. Pot să dispară lucruri fine, care țin de ecranele moderne: scalarea la procent neîntreg separat pe fiecare monitor, și o parte din gesturile de pe touchpad, în funcție de mediul grafic.
Trei cauze, în ordinea în care merită verificate: nu ai repornit calculatorul; rândul a rămas cu diez în față; sau ai editat alt fișier decât cel folosit de distribuția ta. Verifică cu „grep -i waylandenable /etc/gdm3/custom.conf" - trebuie să iasă un singur rând, WaylandEnable=false, fără diez în față.
curl -fsSL https://syncdesk.ro/instalare.sh | sudo bash -s -- --dezinstaleaza. Oprește serviciul, scoate pachetul și șterge datele din toate casele, apoi verifică ce a rămas. Doar apt remove nu ajunge: lasă configurarea și jurnalele, iar apt purge șterge doar configurarea lui root. Serviciul nu rulează întotdeauna ca root, iar configurarea din casa utilizatorului, cu parola și cheia device-ului în ea, supraviețuiește și unui purge. Pe .rpm nu există purge deloc.
Dintr-o comandă: curl -fsSL https://syncdesk.ro/instalare.sh | sudo bash -s -- --schimba-parola. Nu instalează și nu descarcă nimic. Ți-o cere ca passwd: o tastezi fără să se vadă, apoi încă o dată pentru confirmare. Dacă preferi comanda aplicației, sudo syncdesk --password 'parola-ta', uită-te obligatoriu la ce răspunde: trebuie să scrie Done!. Comanda aceea iese ca și cum ar fi reușit chiar și când serviciul nu era încă pornit și n-a primit nimic. În plus, o parolă scrisă în comandă se vede în ps și rămâne în istoricul shell-ului.
Pentru linie de comandă, da, așa cum e: modul Terminal îți dă un shell fără să atingă nimic grafic. Pentru ecran e nevoie de trei lucruri, în ordinea asta: un mediu grafic instalat, rândul allowed_users=anybody în /etc/X11/Xwrapper.config, și bifa „Pornește o sesiune grafică pe servere fără ecran" din Setări > Securitate. Fără a treia, primele două nu folosesc la nimic - nu e nimeni autentificat care să pornească sesiunea.
Pachetul .deb pentru Ubuntu, Debian și Linux Mint. Pachetul .rpm pentru Fedora, RHEL, AlmaLinux și Rocky. AppImage e portabil: nu instalează serviciu, deci nu pornește singur și nu e potrivit pentru acces nesupravegheat. Atenție, AppImage nu e mai permisiv ca celelalte: împachetează aplicația, nu și bibliotecile de sistem, deci cere aceeași distribuție recentă.
Scrie-ne ce distribuție folosești și ce răspunde comanda de verificare a sesiunii. Cu două rânduri dintr-astea se rezolvă de obicei din primul mesaj.