Supposons que j'ai désinstallé accidentellement chaque émulateur de terminal de mon système: xterm
, uxterm
, gnome-terminal
, guake
, etc. Puis-je accéder à bash
sans émulateur de terminal?
Une façon possible de penser serait de créer et d’exécuter un script Shell, mais à part cela, puis-je obtenir un shell interactif?
Ceci est purement hypothétique, mais merci pour toutes les réponses!
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ù nom-terminal 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 garder la session TTY ouverte, ignorez la partie exit
en tapant)
Édition: 17 juin 2015
J'ai imaginé une autre solution: si vous avez un IDE en langage C, vous pouvez compiler le code suivant, et la console du IDE vous donnera maintenant accès à bash
#include<stdio.h>
#include <unistd.h>
void main()
{
system("bash");
}
Note: CtrlAltF2 n'est pas la seule option. Vous pouvez utiliser CtrlAltF1, CtrlAltF3, CtrlAltF4, CtrlAltF5 et CtrlAltF6 aussi, ce qui vous donnera la console virtuelle TTY1, TTY3, TTY4, TTY5 ou TTY6 respectivement.
Si vous avez un serveur ssh en cours d'exécution, vous pouvez vous connecter via ssh à partir d'un autre système.
ssh <your_remote_user_name>@<your_remote_Host>
Si j'installe un système, je commence par installer et démarrer le serveur SSH. Une sorte d'assurance vie. =)
Ctrl+Alt+ (F1 à travers F4 au moins peut-être jusqu'à F6) exécutez une interface de terminal sur les consoles virtuelles. Une fois là-bas, pour revenir à l'interface graphique, utilisez Ctrl+Alt+F7.
Dans ce cas, vous devriez pouvoir accéder à un terminal auquel vous pouvez vous connecter, puis accéder au terminal. Les scripts Bash continueront toutefois à s'exécuter s'ils sont automatiquement automatisés dans cron
et qu'ils cliquent ou exécutent un double clic pour s'exécuter (mais pas dans le terminal). Les émulateurs de terminal qui "vous" donnent un shell interactif, mais finalement bash
name__, zsh
name__, etc., qui sont les shells actuels existent et peuvent être exécutés via cron
name__, des scripts et même les consoles virtuelles sur les combos de clavier ci-dessus.
Notez cependant que si vos scripts nécessitent une interface interactive, vous devrez utiliser les consoles virtuelles ou installer à nouveau un émulateur.
S'il s'agit d'une question d'un test, j'ajouterais des ttés série normaux pour que vous puissiez vous connecter à votre ordinateur avec un câble série. vous auriez besoin d'un getty (ou de tout autre écouteur série appelé maintenant) préalablement configuré avant de perdre votre terminal, et d'un deuxième ordinateur pour communiquer avec le premier, de sorte qu'en cas d'urgence à la maison, cela ne risque pas d'arriver .
Vous pouvez également avoir une console Webmin qui vous donne (en fait) un accès à Shell, mais pas un Shell techniquement interactif. à ce stade, il vaut mieux faire des commandes simples, comme apt-get some-terminal-emulator.
Si vous avez une fenêtre de navigateur ouverte, vous pouvez en théorie rechercher un émulateur de terminal Java , mais j’imagine qu’il faudrait installer à l’avance et qu’une fenêtre de navigateur ne laisserait pas vous accédez au droit de pty sous-jacent, mais je n'ai pas le temps de tester de toute façon.
les questions ci-dessus sont donc "quelles sont toutes les manières possibles", des questions qui ne sont pas forcément utiles dans la vie réelle, bien que la plupart des salles de serveurs aient probablement un accès série.
hmm, beaucoup d'autres outils (emacs, vim, etc.) permettent un certain niveau de bombardement. permet d'espérer que vous avez ouvert xemacs
Bien que toutes les réponses ci-dessus soient parfaites et que vous utilisiez Linux, vous avez beaucoup d'autres solutions possibles:
Je vais donc être pédant ici:
Existe-t-il un moyen d’accéder à bash sans émulateur de terminal?
Bien sûr, tout script commençant par #!/bin/bash
le fera.
Existe-t-il un moyen d'obtenir un prompt bash sans émulateur de terminal?
Continuant avec mon thème de pédantisme, permet de creuser des trous dans certaines des autres réponses.
Supposons que j'ai désinstallé accidentellement chaque émulateur de terminal de mon système:
C'est en fait très difficile à retirer parce que
en appuyant CtrlAltF2
vous basculez vers une autre console virtuelle sur laquelle l'émulateur de terminal virtuel du noyau Linux s'exécute, ce qui est très difficile à supprimer et nécessite une recompilation du noyau avec des options non standard. Laissons donc les trous dans les options ssh/telnet/port série, celles-ci nécessitant un émulateur de terminal distant; Quant à Webmin, il a aussi un émulateur de terminal (juste un moche).
Il n’existe qu’une seule façon d’utiliser la fonction d’un terminal sans émulateur de terminal: utiliser un terminal réel. J'avais l'habitude d'avoir une Televideo et un télétype (pas un TeleType, c'était un imitation), j'étais capable de modifier des fichiers avec (vi sur Televideo, éd sur le télétype (quel ennui à l'arrière)) un bbs local utilisant minicom et seyon de la televideo. Vous savez que la seule chose qui me manque, c’est le droit de me vanter, mais j’ai ramassé quelques terminaux de configuration pour imprimantes industrielles qui ont un affichage sur deux lignes et 20 colonnes, un clavier et une interface rs232 qui fonctionneront pour la réparation de configuration d’urgence une fois que je figurerai. où est mon manuel ed.