Puncte:1

comanda who nu produce nicio ieșire pe WSL2

drapel it

Folosesc Ubuntu 20.04 în subsistemul Windows pentru Linux pe Windows 10. Când tast OMS comanda nu primesc nicio iesire:

renniej@ratitch:~$ whoami
renniej
renniej@ratitch:~$ cine
renniej@ratitch:~$

Am incercat diverse lucruri precum sudo cine și cine -a dar tot nu am ieșire. care --versiune ofera:

cine (GNU coreutils) 8.30
Drepturi de autor (C) 2018 Free Software Foundation, Inc.
Licență GPLv3+: GNU GPL versiunea 3 sau ulterioară <https://gnu.org/licenses/gpl.html>.
Acesta este software gratuit: sunteți liber să îl schimbați și să îl redistribuiți.
NU ESTE GARANȚIE, în măsura permisă de lege.

Scris de Joseph Arceneaux, David MacKenzie și Michael Stone.

Fac ceva prost aici? Sau aceasta este o caracteristică a WSL2?

Puncte:1
drapel vn

Răspuns scurt

Nimic prostesc. Există o Problemă Github legată de cauza principală. În timp ce echipa WSL l-a etichetat inițial „după proiectare” și „funcție”, a existat activitate anul trecut care indică faptul că este „prelucrare la preț redus”.

Apoi, din nou, mai recent se remarcă faptul că a fost creat acum 5 ani și nu are „degetul mare” de la alți utilizatori care doresc să fie reparat. Bănuiesc că acest lucru nu va fi schimbat până când și cu excepția cazului în care WSL adoptă o abordare mai asemănătoare cu Systemd pentru pornire (a se vedea mai jos pentru detalii).

Explicaţie

... sau mai mult decât probabil ai vrut să știi OMS

Există două motive pentru care OMS nu arata niciun rezultat:

  • În primul rând, evident -- OMS este conceput pentru a arăta (citând din pagina de manual), „cine este conectat”. Când porniți WSL, de fapt nu vă trimite utilizatorul prin parola de conectare, motiv pentru care nu vi se solicită o parolă.

  • În al doilea rând, WSL rulează propriul său /init procesează ca PID1 la pornire, care face „magia” configurarii unor lucruri precum:

    • rețeaua Linux putând să se apropie de rețeaua Windows
    • montarea automată a unităților Windows
    • interoperabilitatea care permite Windows .executabile să fugă
    • și altele ...

    Un sistem Linux „normal”, pe de altă parte, pornește cu Systemd sau SysVInit (sau un pumn de alte sisteme init de-a lungul anilor). Sistemul init este responsabil pentru stabilirea nivelului de rulare, printre altele. Și împreună cu asta (doar eu învăț asta din acea problemă Github), /var/run/utmp construct, care este ceea ce urmărește cine folosește sistemul.

Există câteva moduri prin care poți „forța” pe cine să lucreze:

  • Primul este acoperit în acel thread Github. În primul rând, hack a /var/run/utmp cu ceva de genul:

    sudo bash -c "echo '[1] [00049] [~~ ] [runlevel] [~ ] [4.4.0-17115-Micoroso] [0.0.0.0 ] [Miercuri, 28 februarie 13:27:14 2018 STD]' | utmpdump -r > /var/run/utmp"
    

    Apoi, forțați o „conectare” cu sudo login -f $USER. Apoi, puteți vedea utilizatorul conectat folosind OMS. Dacă ar fi să vă autentificați din nou prin ssh (ar trebui să-l configurați mai întâi), apoi va apărea și acea autentificare.

  • În al doilea rând, puteți porni Systemd în propriul spațiu de nume PID:

    sudo -b unshare --pid --fork --mount-proc /lib/systemd/systemd --system-unit=basic.target
    

    Așteptați câteva secunde pentru ca Systemd să pornească și se va inițializa /var/run/utmp. Tehnic, în acest moment, puteți sudo login -f $USER si vezi OMS.

    Rețineți că Systemd nu este pe deplin utilizabil fără efort suplimentar (dincolo de scopul acestui răspuns) și că trebuie sa terminați instanța Ubuntu WSL după ce faceți acest lucru pentru a reveni la o stare stabilă. Ieșiți din WSL și apoi wsl --terminate <distro> (Unde <distro> Este probabil ubuntu). Odată ce porniți din nou, totul va reveni la normal.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.