Dependendo da versão debian que você está executando, pode ser
update-rc.d -f gdm remove
ou
update-rc.d -f gdm3 remove
Reinicie .. É isso! Eu apenas testei
Sou muito novo no Linux e estou configurando um servidor Debian. Como não tenho necessidade de uma GUI na maioria das vezes, gostaria de desativá-la de ser executada na inicialização e de desperdiçar recursos do sistema.
No entanto, eu ainda gostaria de tê-lo disponível para executar o Firefox e executar tarefas que podem ser dolorosas para fazer com a linha de comando.
Eu tentei fazer algumas pesquisas sobre o assunto, e as pessoas parecem dizer que essa linha fará isso:
#update-rc.d -f gdm remove
(Eu suponho que o hash significa que eu deveria inseri-lo no terminal; se eu deixá-lo lá, nada acontece)
Se eu SSH entrar como root e entrar nessa linha, recebo o resultado:
update-rc.d: using dependency based boot sequencing
que é maravilhosamente enigmático. Quando eu reinicio o computador depois, o GNOME volta a funcionar. Alguém sabe o que estou fazendo de errado aqui?
Dependendo da versão debian que você está executando, pode ser
update-rc.d -f gdm remove
ou
update-rc.d -f gdm3 remove
Reinicie .. É isso! Eu apenas testei
Assumindo que o sistema é uma variante da Red Hat (as instruções do Debian são um pouco diferentes) - Veja U & L Pergunta: Como inicializar o Debian em modo texto sem usar GUI?
Em vez de remover gdm
, convém considerar a execução do sistema no nível de execução 3 em vez do nível de execução 5.
ID Name Description
-- ---- -----------
0 Halt Shuts down the system.
1 Single-user Mode Mode for administrative tasks.
2 Multi-user Mode Does not configure network interfaces
and does not export networks services.
3 Multi-user Mode with Networking Starts the system normally.
4 Not used/User-definable For special purposes.
5 Start the system normally with As runlevel 3 + display manager.
appropriate display manager.
( with GUI )
6 Reboot Reboots the system.
Você pode ver em qual nível de execução o sistema está usando o comando runlevel
:
$ runlevel
N 5
Isso está mostrando os runlevels anteriores e atuais. Se não houver um runlevel anterior, um N
será substituído nessa posição.
Para alterar o seu runlevel, você pode fazê-lo temporariamente usando o comando telinit <runlevel>
, por exemplo:
telinit 3
A reexecução de runlevel
agora mostra isso:
$ runlevel
5 3
Para tornar esta alteração permanente, você pode editar o arquivo /etc/inittab
e alterar esta linha:
$ sudo vim /etc/inittab
id:3:initdefault:
Em seguida, faça uma reinicialização e seu sistema deverá estar no nível de execução 3.
Para ver se um serviço está configurado para determinado runlevel, você pode usar o comando chkconfig
:
chkconfig --list | grep ssh
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Portanto, ssh
é configurado para iniciar em runlevels 2,3,4, & 5.
No Debian / Ubuntu a localização das coisas é diferente e os runlevels também são diferentes.
0 - shutdown
1 - single user mode
2 - multiuser graphical mode
6 - reboot
O nível de execução padrão é 2. Você pode confirmar isso com o comando runlevel
:
$ runlevel
N 2
O nível de execução pode ser alterado com o comando telinit
:
telinit 3
Para tornar essas alterações permanentes, você pode editar o arquivo: /etc/init/rc-sysinit.conf
e alterar a seguinte linha:
$ sudo vim /etc/init/rc-sysinit.conf
env DEFAULT_RUNLEVEL=2
A ferramenta sysv-rc-conf
pode ser usada a partir do terminal para interrogar quais serviços são conectados para execução em um determinado nível de execução. Por exemplo:
$ sysv-rc-conf --list|grep rsync
rsync 2:on 3:on 4:on 5:on
No entanto, alguns serviços não aparecerão sob isso. Sob o Debian / Ubuntu, o mecanismo de serviços sysV está sendo lentamente descontinuado por um novo mecanismo chamado upstart
.
$ status ssh
ssh start/running, process 928
Você pode ver em qual nível de execução o serviço será iniciado da seguinte forma:
$ initctl show-config ssh
ssh
start on (filesystem or runlevel [2345])
stop on runlevel [!2345]
O ambiente gráfico é iniciado por um "gerenciador de exibição X". Dependendo da versão do Debian que você está executando, é gdm
ou gdm3
(pelo menos para o GNOME; existem outros gerenciadores de exibição como kdm
para o KDE).
Você pode verificar qual gerenciador de exibição está em uso em seu sistema procurando em /etc/X11/default-display-manager
. Você pode alterá-lo editando esse arquivo. Você poderia desativá-lo alterando esse arquivo para conter, por exemplo, none
. Mas então você não seria capaz de iniciá-lo manualmente quando necessário (embora startx
ainda funcionasse bem).
Como alternativa, você pode alterar o gdm3 (ou o que for) para não iniciar na inicialização. Você faz isso da mesma forma que qualquer outro serviço, manipulando links em /etc/rc?.d
. Em um Debian bastante recente, você pode facilmente fazer isso com update-rc.d gdm3 disable
. Você pode iniciá-lo manualmente executando service gdm3 start
.
No meu sistema Debian, o gerenciador de exibição era LightDM, então, para removê-lo do processo de inicialização, eu emiti update-rc.d lightdm disable
.