端末エミュレータなしでbashにアクセスする方法は?


37

:言う私は誤って私のシステム上のすべての端末エミュレータアンインストールしたxtermuxtermgnome-terminalguake私がアクセスできる方法があるなどのbash端末エミュレータなしでは?

考えられる1つの方法は、シェルスクリプトを作成して実行することですが、それ以外に、インタラクティブシェルを取得できますか?

これは純粋に仮想的なものですが、すべての答えに感謝します!


2
(部分的に)ターミナルをエミュレートすることにより、シェルを実行し、ある程度の対話機能を提供できるプログラムがありますが、それ自体はエミュレータではありません。たとえば、GVimは1です。
ムル

@muruそれで、なぜあなたはまだ答えとしてそれを投稿していないのですか?:D
セルギーコロディアズニー

IDEソリューションやgeditのPythonコンソールを投稿しなかったのと同じ理由で@Serg-これらはいずれもデフォルトではインストールされません(ただし、gedit Pythonコンソールを追加インストールせずに有効にできると思います)。
ムル

@muruあ、なるほど。追加のインストールを必要としないソリューションは常に優先されます。間違いなく
セルギーKolodyazhnyy

回答:


63

はい、CtrlAltF21を押します。これにより、仮想コンソールTTY2にアクセスできます。またsudo apt-get install terminal-name、そこからターミナルエミュレータを再インストールできますgnome-terminal。たとえば、terminal-nameです。

GUIに戻るには、最初に入力exitして仮想コンソールからログアウトし、次にを押しCtrlAltF7てGUIに戻ります。(TTYセッションを開いたままにする場合は、入力exit部分をスキップします )

編集:2015年6月17日

別の解決策を考えました:C言語IDEがある場合は、次のコードをコンパイルできます。IDEのコンソールからbashにアクセスできるようになります。

#include<stdio.h>
#include <unistd.h>

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

注: CtrlAltF2は唯一のオプションではありません。あなたは使用することができCtrlAltF1CtrlAltF3CtrlAltF4CtrlAltF5CtrlAltF6あまりにも、それぞれあなたのバーチャルコンソールTTY1、TTY3、TTY4、tty5というかTTY6を与えるであろう。


1
しゅう 私は知っていますが、Fedora tty1のような一部のシステムには存在しないため、F2
Sergiy Kolodyazhnyy

18
@Hueyこれは、ttysを手動で無効にしない限り、すべてのシステムでフェイルセーフにアクセスでき、基本的にはlinux / unixがデフォルトでどのようにテキストコンソールであるかです。GUIは、* nixシステム上で本当にオプションである
Sergiy Kolodyazhnyy

8
@Huey仮想コンソールは、そもそもLinuxが実行するために構築されたものです。他のすべては、後で追加された機能です。そして、それを再び削除するのが理にかなっているだけの便利な機能です。
カスペルド

10
むかしむかし、何らかの理由でGUIプログラムを実行する必要がある場合、通常はテキストコンソールからログインしてから実行するxinitstartx、実際にX11 にアクセスします。:)
ふわふわ

1
別の解決策を考えました。みんなに、私の編集を参照してください
Sergiy Kolodyazhnyy

30

sshサーバーを実行している場合は、別のシステムからssh経由で接続できます。

ssh <your_remote_user_name>@<your_remote_host>

システムをインストールする場合、まずSSHサーバーをインストールして起動します。生命保険の一種。=)


24

Ctrl+ Alt+(少なくとも、場合F1によってF4F6)まで、仮想コンソールで端末インターフェースを実行します。いったんGUIに戻るには、Ctrl+ Alt+を使用しますF7

これらのいずれかを行うと、ログインしてターミナルにアクセスできるターミナルに到達できるはずです。ただし、自動化されたスクリプトがドロップされた場合、cronまたはダブルクリックして実行された場合(ただしターミナルでは実行されない場合)、Bashスクリプトは引き続き実行されます。インタラクティブシェルを「与える」ターミナルエミュレーターですが、最終的bashzshは実際のシェルである、などが存在しcron、、スクリプト、上記のキーボードコンボの仮想コンソールでさえ実行できます。

ただし、スクリプトに対話型インターフェイスが必要な場合は、仮想コンソールを使用するか、エミュレータを再度インストールする必要があることに注意してください。


2
コンピューター上のF1からF6。
Scimonster

14

これがテストからの質問である場合、完全を期すために、シリアルケーブルでコンピューターに接続する通常のシリアルttyを追加します。端末トーを失う前に事前に設定されたgetty(または現在ttyシリアルリスナーが呼び出されているもの)が必要です。 。

また、技術的にインタラクティブなシェルではありませんが、(実際に)シェルアクセスを提供するwebminコンソールを使用することもできます。その時点で、apt-get some-terminal-emulatorのような簡単なコマンドを実行する方が良いでしょう。

ブラウザウィンドウを開いている場合、理論的にはJavaターミナルエミュレータを検索できますが、事前にインストールする必要があり、ブラウザウィンドウを持っているだけでは、基礎となるptyの権限にアクセスできません。しかし、どちらの方法でもテストする時間はありません。

したがって、上記は「すべての可能な方法」の質問であり、ほとんどのサーバールームはおそらくシリアルアクセスを備えていますが、実際の家庭では必ずしも有用ではありません。

うーん、他の多くのツール(emacs、vimなど)である程度のシェルアウトが可能です。xemacsを開いてほしい


Macシェルを使用できるemacsのレコードの+1 。gvimにはESC :shell; 一方、geanyには、libvte.so利用可能なメッセージペインのタブに「仮想端末エミュレータウィジェット(VTE)」があります
-steeldriver

6

上記のすべての答えは完璧ですが、Linuxを使用しているため、他にも多くの解決策があります。

  • 完璧なソリューションである@serg answerで説明されている仮想tty
  • @ABソリューションで説明されているSSHは素敵なトリックですが、opensshサーバーを実行するには考慮が必要です。
  • 別の可能な解決策(完璧ではありませんが、他の可能性を示すためだけです):LiveCD回復モード

3
過剰なソリューション。
トーマス・ウォード

しゅう なぜ!?それは別のオプションですか?なぜそれを過剰なソリューションと見なしたのですか?!
Maythux

2
@Maythuxは技術的には正しいのですが、TTYとsshが既に利用可能になっているのは確かに少しやり過ぎです。LiveCDソリューションは、coreutilsをインストールした場合(はい、以前に偶然にそれを行ったことがあります)、または何かが本当に台無しになった場合に、より適切です。
セルギーKolodyazhnyy

1
@Sergしかし、それはまだケースですが、それは単なる別のソリューションです、あなたが説明したように、liveCdのオプションがあり、またリカバリモードのオプションもありますので、ttyを使用することに加えて...同じ問題。liveCdを推奨することは問題ではないと思います!
Maythux

1
@Maythux彼らがすでにログインしてTTYに「仮想コンソール」を持っている場合、LiveUSB / LiveCDで起動するだけではやり過ぎであり、余分な作業になります。特に「何にもアクセスできない」というケースではないので、大きな銃は必要ありません(Sergがコメントで言及しているように)
Thomas Ward

2

だから私はここでhere慢になるつもりです:

ターミナルエミュレータなしでbashにアクセスする方法はありますか?

で始まるすべてのスクリプトがそれ#!/bin/bashを行うことを確認してください。

ターミナルエミュレータなしでbashプロンプトを表示する方法はありますか?

私のテーマである「つまらない」を続けて、他の答えのいくつかに穴を開けてみましょう。

システム上のすべてのターミナルエミュレータを誤ってアンインストールしたとします。

これは実際には非常に困難です

押すことにより CtrlAltF2

Linuxカーネル仮想ターミナルエミュレータが実行されている別の仮想コンソールに切り替えます。これは、削除するのが非常に難しく、非標準オプションでカーネルを再コンパイルする必要があります。ssh / telnet / serial-portオプションに穴を開けてみましょう。これらにはリモートターミナルエミュレータが必要です。webminに関しては、ターミナルエミュレータもあります(お粗末なものです)。

端末エミュレータなしで端末の機能を使用する方法は1つしかありません。実際の端末を使用します。以前はTelevideoとTeletype(TeleTypeではなく、これは模造品でした)を使用して、両方でファイルを編集することができました(Televideoのvi、Teletypeのed(背面の痛み))を呼び出すテレビデオのミニコムとセヨンを使用したローカル掲示板。私が見逃しているのは自慢する権利だけですが、2行20列のディスプレイ、キーボード、RS232インターフェイスを備えた産業用プリンターの構成端末をいくつか見つけて、緊急構成の修復に使用できます私の編集マニュアルがどこにあるか。


0

@ABの答えと同様に、Webサーバーを実行している場合(標準のUbuntuにはapacheが付属していると思います)、phpshellのようなものを使用して独自のブラウザーでシェルを実行できます。

個人的には、emacsとを起動するだけM-x shell RETURNです。


標準のUbuntuにはWebサーバーが付属していません。
ムル

2
@muru リポジトリに Webサーバーが付属しています。ターミナルを開いてと入力するだけsudo apt-get install apacheです。あ、待って。
ミスターリスター
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.