2010-06-08 9 views
7

Jak mogę się wylogować z komputera przy użyciu powłoki, takie okno logowania pojawia się ponownie?Jak wylogować się z komputera za pomocą powłoki?

Potrzebuję tej funkcji w jednym moim skrypcie linuksowym.

Aktualizacja: Chcę replikować kod działający za przyciskiem Wyloguj mojego Ubuntu.

Pulpit Enviroment używany: GNOME

+1

myślę to będzie inna dla KDE/Gnome/jakikolwiek inny menedżer okien –

+0

próbował kill -9 -1? –

+1

@Fabio: To by nagle zabiło również wszystkich klientów. Niezbyt dobry pomysł, ponieważ może utracić dane ... – sleske

Odpowiedz

7

myślę, że to nie praca:

gnome-session-save --logout 

Również spojrzeć na wyjściu --help, może chcesz użyć opcji --force-wylogowania.

Usage: 
    gnome-session-save [OPTION...] 

Help Options: 
    -h, --help    Show help options 
    --help-all    Show all help options 
    --help-gtk    Show GTK+ Options 

Application Options: 
    --logout     Log out 
    --force-logout   Log out, ignoring any existing inhibitors 
    --logout-dialog   Show logout dialog 
    --shutdown-dialog  Show shutdown dialog 
    --gui     Use dialog boxes for errors 
    --display=DISPLAY  X display to use 
+0

Ta strona: http: //linux.die.net/man/1/gnome-session-save mówi, że to - nie, nie --logout, ale nie próbowałem. – Boldewyn

+0

@Boldewyn: W moim Gnome otwiera się okienko popup, gdy używam -kill, może nie tego, co jest potrzebne dla skryptów. Następnie uruchomiłem gnome-session-save --help, która zawiera opcję --logout. – theDmi

+0

dzięki. Zrobiłem to, czego potrzebowałem. – baltoro

1

Spróbuj uruchomić menedżera pulpitów przy użyciu jednej z następujących opcji, w zależności, który z nich jeden używasz. Będziesz oczywiście musiał mieć odpowiednie uprawnienia.

/etc/init.d/xdm restart 
/etc/init.d/kdm restart 
/etc/init.d/gdm restart 
+0

xdm kdm niedostępny na moim Ubuntu 10.0 – baltoro

+2

To prawdopodobnie nie jest dobry pomysł, ponieważ bezceremonialnie zabije wszystkich klientów X, prawdopodobnie tracąc niezapisane dane w uruchomionych aplikacjach :-(. – sleske

+0

@baltusaj: Ubuntu 10.04 domyślnie używa 'gdm' – Piskvor

1

Jest to bit hack, ale sposób, że screen „s moc odłączy robi to w celu określenia jego nadrzędny PID i wysłać go do SIGHUP. (Wyjaśnienie: To zamyka tylko powłokę, więc działa tylko wtedy, gdy używasz konsoli - a nie graficznego loginu - więc może nie być tym, czego szukasz.)

2

Twoje pytanie jest trochę mgliste. Czy próbujesz wylogować się z sesji graficznej środowiska graficznego (takiego jak KDE/Gnome), jakby użytkownik kliknął opcję "wyloguj się"?

Następnie należy sprawdzić, czy/jak środowisko pulpitu obsługuje wylogowywanie się skryptów. W KDE na przykład możesz użyć kquitapp.

+0

Tak, dokładnie. Chcę replikować kod działający za przyciskiem Wyloguj w moim Ubuntu (GNOME). – baltoro

+0

Czy wiesz, co mogę użyć dla GNOME? – baltoro

+0

Możesz spróbować gnome-session-save: http://linux.die.net/man/1/gnome-session-save – sleske

0

Wpisz w terminalu

gnome-session-quit 

lub

pkill -kill -u {Username} 
Powiązane problemy