Como posso simplesmente mudar para um runlevel no modo de texto no systemd?

5

Eu tenho o Ubuntu 16.04 instalado com o systemd. Eu preciso instalar um kit de ferramentas cuda da nvidia, mas eu só pode instalá-lo a partir do nível de execução 3.

Agora eu encontrei algumas respostas aqui, mas nenhuma delas funcionou. por exemplo:

  • echo "manual" | dd of=/etc/init/lightdm.override

    Foi-me dito que isso me faz selecionar o nível de execução no início

  • systemctl isolate runlevel3.target

    Aqui, me disseram que ele muda para o nível de execução 3 sem inicializar, mas simplesmente deixou o display escuro.

por sharkant 07.04.2017 / 00:43

2 respostas

4

Se você só precisa mudar para o modo de texto sem nenhuma interface gráfica, como o servidor X rodando, você pode usar systemctl para colocar sua máquina no chamado multi-user.target :

sudo systemctl start multi-user.target

Você reverte isso e volta para a área de trabalho ( graphical.target ) reiniciando ou alternando manualmente da mesma maneira como acima:

sudo systemctl start graphical.target

Se você realmente precisa de uma verdadeira mudança de nível de execução para 3, isso pode ser feito usando o comando init , como @ terdon apontado em seu comentar :

sudo init 3

Você pode verificar seu nível de execução atual com o comando runlevel . Ele emitirá duas letras: a da esquerda é o seu runlevel anterior, enquanto a da direita representa o seu runlevel atual.

Você volta para a área de trabalho definindo o nível de execução para 5 novamente:

sudo init 5

Notas gerais importantes para ambos os métodos:

  • A mudança para multi-user.target ou runlevel 3 terminará o servidor X e eliminará todos os aplicativos GUI e seu ambiente de área de trabalho. Certifique-se de que fechou todas as aplicações sensíveis e salvou o seu trabalho antes de começar, caso contrário o seu estado será perdido!

  • Nem systemctrl start ???.target nem init ? mudam seu TTY ativo. Isso significa que, se você executar esses comandos a partir de um emulador de terminal em sua área de trabalho (normalmente em TTY7), você estará em uma tela preta depois (opcionalmente com alguma saída de depuração).

    É simplesmente porque os TTYs 8-12 não estão conectados a consoles de texto, mas reservados para que consoles de vídeo exibam GUIs. Apenas TTY 1-7 são consoles de texto.

    Portanto, para operar em multi-user.target ou no nível de execução 3, você precisa alternar para um TTY de console de texto, por exemplo, pressionando Ctrl + Alt + F1 para TTY1. Você volta para a área de trabalho (TTY7) depois de retornar para graphical.target ou runlevel 5 pressionando Ctrl + Alt + F7 respectivamente.

    Quando chegar a tal console de texto, observe que você precisa fazer login novamente primeiro digitando seu nome de usuário e senha conforme solicitado.

por Byte Commander 07.04.2017 / 01:20
1

Para resolver sua tarefa, é melhor reiniciar no modo de recuperação, que é baseado em texto e atenderá a sua necessidade.

Desligue a máquina e mantenha pressionada a tecla "Shift". Um menu do Grub aparecerá. Normalmente, a segunda opção é o que você deseja, rotulado como "Avançado" ou "Recuperação". Isso deve inicializar você em um menu baseado em texto. Selecione a opção para um shell de root.

Você quer que você precise fazer.

Se você descobriu que as unidades são montadas como somente leitura, você pode remontar a raiz de leitura / gravação:

mount -o remount,rw /

Digite "exit" como seu último comando shell. Você retornará ao menu, onde poderá selecionar "Retomar a inicialização".

Considerando o quão rápido as máquinas são inicializadas a partir de SSDs, essa abordagem será competitivamente rápida com o uso do systemd isolate para entrar e sair de um ambiente gráfico.

    
por Mark Stosberg 07.04.2017 / 02:12