Ubuntu 14.04 wprowadza nowy ekran blokady, który wygląda podobnie do ekranu logowania.
Nadal jestem w stanie zablokować ekran za pomocą polecenia gnome-screensaver-command --lock
(jak zawsze wcześniej), który pod 14.04 blokuje ekran, ale:
- Jeśli uruchamiasz go z pulpitu, blokuje ekran przy użyciu nowego ekranu blokady.
- Jeśli uruchamiasz go z wirtualnej konsoli lub przez SSH, blokuje ekran przy użyciu starego ekranu blokady .
Próbowałem również użyć xdg-screensaver lock
, ale działa w taki sam sposób, jak gnome-screensaver-command --lock
robi (używa nowego ekranu blokady, gdy jest uruchamiany z pulpitu).
Uruchomienie light-locker-command --lock
nie działało, ponieważ light-locker
nie jest zainstalowane.
Wydaje mi się, że muszą istnieć pewne różnice między uruchomieniem tego samego polecenia z pulpitu a uruchomieniem go za pośrednictwem SSH / wirtualnej konsoli, ale nie byłem w stanie znaleźć żadnej różnicy w zmiennych środowiskowych.
Moje pytanie brzmi: w jaki sposób mogę zablokować ekran przy użyciu nowego ekranu blokady Unity, a nie starego ekranu blokady z wiersza poleceń?
To pytanie jest prawdopodobnie powiązane, ponieważ prosi o nowe polecenie, które należy użyć, więc oto kolejne pytanie: Dlaczego uruchomienie tego samego polecenia blokady daje inne wyniki?
Pamiętaj, że gnome-screensaver
zgodnie z tym raportem o błędzie nie jest już używany w 14.04 :
To naprawdę nie jest błąd wygaszacza ekranu, ten komponent przestał być używany w zaufanym.
źródło
dm-tool lock
jest bliskie: blokuje ekran, ale (w przeciwieństwie do domyślnego ekranu blokady Unity) umożliwia także przełączanie użytkowników.dm-tool lock
idm-tool switch-to-greeter
wydaje się, że robi to samo: przenosi Cię z powrotem do ekranu logowania (powitania), który wygląda bardzo podobnie do ekranu blokady.Odpowiedzi:
Nie
gnome-screensaver
zainstalowałem, a jedyne polecenie, które mogę znaleźć, które działa, to:źródło
qdbus org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock
gsettings set org.gnome.desktop.lockdown disable-lock-screen false
gsettings get org.gnome.desktop.lockdown disable-lock-screen
zwracafalse
. Teraz nie ma żadnych danych wyjściowych podczas uruchamiania dbus-send. Może potrzebny jest wygaszacz ekranu gnome?org.gnome.ScreenSaver
interfejsu dbus, więc prawdopodobnie lepiej jest komunikować się z interfejsemPrzyjęta odpowiedź ma słuszny pomysł, z tym wyjątkiem, że ekran blokady jest powiązany z panelem jedności, podczas gdy
org.gnome.ScreenSaver
oczywiście jest schematem typu Gnome, więc może, ale nie musi działać.Istnieje jednak interfejs dbus dla Jedności, i wszystko, co potrzebne jest, aby wywołać tę metodę
com.canonical.Unity.Session.Lock
, jak takUwaga dodatkowa :
Dowód na to, że jest on związany z panelem jedności, jest prosty, gdy ekran jest zablokowany, proces
/usr/lib/unity/unity-panel-service
zmieni się/usr/lib/unity/unity-panel-service --lock-mode
na obserwowany od tty1.źródło
DISPLAY
zmienną, ale z dbus. Nie wiem, czy over ssh Unity nie ma sesji dbus, czy nie, więc nie mogę ci pomóc w tej części. Zapytam, ale na razie tyle mogę powiedzieć.dbus-launch --exit-with-session gnome-terminal
wcześniej. serverfault.com/a/411326Niedawno dowiedziałem się, że
xdg-screensaver lock
działa również i jest dość prostym rozwiązaniem!źródło
Zawsze można wysłać naciśnięcia klawiszy:
xdotool key super+l
.źródło