41 votes

Comment accéder à bash sans émulateur de terminal?

Dire que j'ai accidentellement désinstallé tous les émulateurs de terminal sur mon système: xterm, uxterm, gnome-terminal, guake, etc. Existe-t-il un moyen d'accéder à bash sans émulateur de terminal ?

Une solution possible à laquelle je peux penser serait de créer et d'exécuter un script shell, mais à part cela, puis-je obtenir un shell interactif ?

C'est purement hypothétique, mais merci pour toutes les réponses !

64voto

Sergiy Kolodyazhnyy Points 97292

Oui, en appuyant sur CtrlAltF21. Cela vous donne accès à la console virtuelle TTY2. Et vous pouvez réinstaller n'importe quel émulateur de terminal à partir de là avec sudo apt-get install terminal-name, où terminal-name est, par exemple, gnome-terminal.

Pour revenir à l'interface graphique, tapez d'abord exit pour vous déconnecter de la console virtuelle, puis appuyez sur CtrlAltF7 pour revenir à l'interface graphique. (Si vous souhaitez conserver la session TTY ouverte, passez la partie tapez exit)

Édition : 17 juin 2015

J'ai pensé à une autre solution : si vous disposez d'un IDE en langage C, vous pourriez compiler le code suivant, et la console de l'IDE vous donnera maintenant accès à bash.

#include
#include 

void main()
{
        system("bash");
}

Remarque : CtrlAltF2 n'est pas la seule option. Vous pouvez également utiliser CtrlAltF1, CtrlAltF3, CtrlAltF4, CtrlAltF5 et CtrlAltF6, qui vous donneront respectivement la console virtuelle TTY1, TTY3, TTY4, TTY5 ou TTY6.

30voto

A.B. Points 84870

Si vous avez un serveur ssh en cours d'exécution, vous pouvez vous connecter via ssh depuis un autre système.

ssh @

Si j'installe un système, je commence par installer et démarrer le serveur SSH. Une sorte d'assurance vie. =)

24voto

Joe the Person Points 5090

Ctrl+Alt+(F1 à F4 au moins, peut-être jusqu'à F6) exécute une interface de terminal sur les consoles virtuelles. Une fois là-bas, pour revenir à l'interface graphique, utilisez Ctrl+Alt+F7.

Si vous effectuez l'une de ces actions, vous devriez pouvoir accéder à un terminal sur lequel vous pouvez vous connecter, puis accéder au terminal. Les scripts Bash, cependant, continueront à s'exécuter s'ils sont des scripts automatisés déposés dans cron et similaires, ou s'ils sont double-cliqués pour s'exécuter (mais pas dans un terminal). Les émulateurs de terminal qui 'vous donnent' un shell interactif, sont en fin de compte bash, zsh, etc. qui sont les shells réels, et peuvent être exécutés via cron, des scripts, et même les consoles virtuelles avec les combinaisons de touches du clavier ci-dessus.

Remarquez cependant que si vos scripts nécessitent une interface interactive, vous devrez utiliser les consoles virtuelles, ou réinstaller un émulateur.

13voto

biofractal Points 133

Si c'est une question d'un test, pour plus de complétude j'ajouterais les terminaux série normaux, où vous vous connecteriez à votre ordinateur avec un câble série. Vous auriez besoin d'un getty (ou de tout autre programme qui écoute sur un port série) préalablement configuré avant de perdre votre terminal, et vous auriez besoin d'un deuxième ordinateur pour communiquer avec le premier, donc en cas d'urgence à la maison, cela est peu probable de se produire.

Vous pouvez également avoir une console webmin qui vous donne un accès (en effet) shell, bien que techniquement pas un shell interactif. À ce moment-là, il est préférable d'exécuter des commandes simples, comme apt-get some-terminal-emulator.

Si vous avez une fenêtre de navigateur ouverte, vous pourriez théoriquement rechercher un émulateur de terminal en Java mais je suppose que vous auriez dû l'installer à l'avance, et simplement avoir une fenêtre de navigateur ne vous permettrait pas d'accéder aux pty sous-jacents, mais je n'ai pas le temps de le tester dans un sens ou dans l'autre.

Ainsi, les options ci-dessus sont des questions de "quelles sont toutes les façons possibles", pas nécessairement utiles dans la vie quotidienne à la maison, bien que la plupart des salles de serveurs auraient probablement un accès série.

hmm, beaucoup d'autres outils (emacs, vim, etc) permettent un certain niveau d'exécution de commandes. Espérons que vous ayez xemacs ouvert.

6voto

Maythux Points 77506

Bien que toutes les réponses ci-dessus sont parfaites, et puisque vous utilisez Linux, vous avez de nombreuses autres solutions possibles :

  • Les tty virtuels comme décrit dans la réponse de @serg qui est la solution parfaite
  • SSH comme décrit dans la solution de @A.B qui est une astuce adorable, mais vous devez prendre en compte que le serveur openssh doit être en cours d'exécution.
  • D'autres solutions possibles (ce n'est pas parfait mais juste pour montrer d'autres possibilités) : LiveCD , Mode de récupération

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X