Se você não conseguir entrar em um terminal, poderá usar:
- Ctrl + Alt + F2 - Para acessar o terminal principal;
- Ctrl + Alt + F7 - para sair e retornar à GUI;
Se estiver a executar nautilus
, pode reiniciar uma sessão:
sudo killall -9 nautilus && nautilus &
Você deve primeiro obter o ID do processo da sessão com falha (gnome-shell / nautilus):
ps aux | grep gnome
Irá retornar algo como o seguinte (talvez processos menores):
fs11# ~ $ ps aux | grep gnome
ash 2568 0.0 0.1 523420 4300 ? SLl Mar17 2:31 /usr/bin/gnome-keyring-daemon --daemonize --login
ash 2578 0.0 0.0 438164 2992 ? Ssl Mar17 6:11 gnome-session --session=gnome
ash 2625 0.0 0.0 12616 32 ? Ss Mar17 0:07 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/im-launch gnome-session --session=gnome
ash 2628 0.0 0.0 24468 0 ? S Mar17 0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/im-launch gnome-session --session=gnome
ash 2646 0.0 0.0 124856 1644 ? Sl Mar17 0:15 /usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session
ash 2666 0.0 0.3 966324 13728 ? Sl Mar17 15:26 /usr/lib/gnome-settings-daemon/gnome-settings-daemon
ash 2698 1.1 19.8 2952084 805572 ? SLl Mar17 836:10 /usr/bin/gnome-shell
ash 2754 0.0 0.3 528620 15652 ? Sl Mar17 7:09 gnome-screensaver
ash 2762 0.0 0.0 420240 2036 ? Sl Mar17 0:01 /usr/lib/gnome-shell/gnome-shell-calendar-server
ash 2994 0.0 1.2 775312 49648 ? Sl Mar17 52:52 gnome-terminal
ash 2998 0.0 0.0 14836 400 ? S Mar17 0:00 gnome-pty-helper
ash 13051 0.0 0.0 9448 944 pts/10 S+ 10:57 0:00 grep --color=auto gnome
Agora você precisa encontrar o processo com falha:
-
gnome-shell
normalmente estaria executando/usr/bin/gnome-shell
; OR -
nautilus
normalmente estaria executando/usr/bin/naultilus
;
Exemplo:
ash 2698 1.1 19.8 2952084 805572 ? SLl Mar17 836:10 /usr/bin/gnome-shell
Com o exemplo acima, o ID do processo é 2698 - Agora vamos "reiniciar normalmente" esse processo enviando um sinal de desligamento conhecido como HUP
com o seguinte comando:
kill -HUP 2698
Conclusão
Quando eu digo "reiniciar graciosamente" - Um sinal de desconexão simplesmente envia um sinal para o processo pai. A frase graciosamente (basicamente) espera até que o processo termine antes de enviar o sinal. Então você não está realmente reiniciando o processo .