Bir terminal emülatörü olmadan bash'a nasıl erişilir?


37

Say Kazayla sistemimde her terminal emülatörü kaldırdıktan: xterm, uxterm, gnome-terminal, guake, vb ben erişebileceği bir yolu var mı bashbir terminal emülatörü olmadan?

Düşünebilmemin olası bir yolu, bir kabuk betiği oluşturmak ve çalıştırmak olacaktır, ancak bu bir yana etkileşimli bir kabuk alabilir miyim?

Bu tamamen varsayımsaldır, fakat tüm cevaplar için teşekkürler!


2
Bir kabuğu çalıştırabilen ve bir terminali (kısmen) taklit ederek bir miktar etkileşim düzeyi sağlayan programlar vardır, ancak kendi başına erminal emülatörler değildir . Örneğin GVim birdir.
muru

@muru öyleyse neden bunu henüz bir cevap olarak göndermediniz? : D
Sergiy Kolodyazhnyy

@ Aynı sebepten dolayı IDE çözümünüzü veya gedit'in Python konsolunu göndermedim - bunların hiçbiri varsayılan olarak yüklenmedi (gedit Python konsolunu ek bir şey yüklemeden etkinleştirebildiğimizi düşünüyorum).
muru

@muru Ah, anlıyorum. Ek kurulum gerektirmeyen çözümler her zaman tercih edilir. Kesinlikle
Sergiy Kolodyazhnyy

Yanıtlar:


63

Evet, CtrlAltF21'e basarak . Bu, TTY2 sanal konsoluna erişmenizi sağlar. Ve herhangi bir terminal emülatörünü buradan sudo apt-get install terminal-name, gnome-terminalörneğin terminal isminin olduğu yerden yeniden kurabilirsiniz .

GUI'ye geri dönmek için önce exitsanal konsoldan çıkmak üzere yazın, sonra CtrlAltF7GUI'ye geri dönmek için tuşuna basın . (TTY oturumunu açık tutmak istiyorsanız, yazılan exitkısmı atlayın )

Düzenleme: Haziran 17.2015

Başka bir çözüm düşündüm: Herhangi bir C dili IDE'niz varsa, aşağıdaki kodu derleyebilirsiniz ve IDE'nin konsolu şimdi size bash erişimi sağlar.

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

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

Not: CtrlAltF2 Tek seçenek değil. Sen kullanabilirsiniz CtrlAltF1, CtrlAltF3, CtrlAltF4, CtrlAltF5ve CtrlAltF6de sırasıyla size sanal konsol tty1, tty3, TTY4, TTY5 veya tty6 verecek olan.


1
@ThomasW. Biliyorum ama dediğim F2 habbit girdim öylesine Fedora tty1 gibi bazı sistemlerde, yok
Sergiy Kolodyazhnyy

18
@Heyty, el ile ttys'i devre dışı bırakmadığınız sürece, tüm sistemlerde erişilebilir, güvenli değil ve linux / unix'in varsayılan olarak nasıl olduğu - metin konsolu. GUI * nix sistemlerinde gerçekten isteğe bağlıdır
Sergiy Kolodyazhnyy

8
@Huey Sanal konsol, en başta Linux yapmak için inşa edildiği şeydir. Her şey daha sonra eklenmiş olan bir özelliktir. Ve bu, onu tekrar çıkarmanın bir anlamı olacak.
kasperd

10
Bir zamanlar, normalde çalıştırmak sonra metin konsolu üzerinden giriş yapıp ediyorum xinitya startxsen nedense bir GUI programını çalıştırmak için gerekirse X11 içine almak aslında hiç. :)
kabarık

1
Başka bir çözüm buldum. Düzenlemelerime bakın, beyler
Sergiy Kolodyazhnyy

30

Çalışan bir ssh sunucunuz varsa, başka bir sistemden ssh ile bağlanabilirsiniz.

ssh <your_remote_user_name>@<your_remote_host>

Bir sistem kurarsam, önce SSH sunucusunu yükleyip başlatırım. Bir tür hayat sigortası. =)


24

Ctrl+ Alt(+ F1İle F4, en azından belki kadar F6) sanal konsolları bir terminal arayüzüne çalıştırın. Bir kez orada, GUI'ye geri dönmek için Ctrl+ Alt+ tuşlarını kullanın F7.

Bunlardan herhangi birini yaparsanız, giriş yapabileceğiniz bir terminale girip ardından terminale erişebilmelisiniz. Ancak, otomatik olarak çalışan betikler bırakılmış cronve çalıştırmak için çift tıklatılmışsa (ancak terminalde değillerse) , Bash komut dosyaları çalışmaya devam edecektir . 'Size' interaktif kabuk, ama sonuçta terminal emülatörleri bash, zshvb gerçek kabukları hala mevcut olduğu ve üzeri ya çalıştırabilirsiniz cronkomut, ve yukarıdaki klavye kombinasyonları üzerinde bile sanal konsolları.

Komut dosyalarınızın etkileşimli arayüze ihtiyacı varsa, sanal konsolları kullanmanız veya bir emülatör tekrar kurmanız gerekeceğini unutmayın.


2
Bilgisayarımda F1'den F6'ya.
Scimonster

14

Bu bir testin sorusuysa, eksiksiz olması için, bilgisayarınıza seri bir kabloyla bağlanacağınız normal seri tty'ler ekleyeceğim. Daha önce terminalinizi kaybetmeden önce yapılandırılmış bir cüret (ya da şu anda hangi tty seri dinleyicileri denirse) gerekir, ve evinizdeki bir acil durumun olması muhtemel değildir, ilk önce konuşacak ikinci bir bilgisayara ihtiyacınız olacaktır. .

Ayrıca, teknik olarak etkileşimli olmasa da (etkin) kabuk erişimi sağlayan bir webmin konsolunuz olabilir. Bu noktada apt-get some-terminal emulator gibi kolay komutlar vermekten daha iyisin.

Açık bir tarayıcı pencereniz varsa, teoride bir java terminal emülatörü arayabilirsiniz. Ancak tahminim, önceden yüklemek zorunda kalacağınız ve sadece bir tarayıcı penceresine sahip olmanız, temel değerin hakkına erişmenize izin vermeyeceğidir. ama hiçbir şekilde test edecek vaktim yok.

bu nedenle, yukarıdakiler, "tüm olası yollar nelerdir" sorusudur, çoğu sunucu odası muhtemelen seri erişime sahip olsa da, ev için gerçek hayatta mutlaka faydalı değildir.

hmm, birçok başka araç (emac, vim, vb.) bir miktar bombardımana izin verir. Xemac'lerin açık olduğunu umalım


Emacs içindeki kayıt için +1, Mx kabuğunu kullanabilirsiniz ; gvim'de ESC :shell; geany verilen mesaj bölmesinin bir sekmede bir "sanal terminal emülatörü aracını (VTE)" e sahip ise libvte.somevcuttur
steeldriver

6

Yukarıdaki tüm cevaplar mükemmel olsa da ve Linux kullandığınız için, başka birçok olası çözümünüz var:

  • Mükemmel bir çözüm olan @serg cevabında açıklandığı gibi sanal tty'ler
  • Güzel bir hile olan @AB çözümünde açıklandığı gibi SSH, ancak openssh sunucusunun çalışmasını göz önünde bulundurmanız gerekir.
  • Başka bir olası çözüm (mükemmel değil, sadece diğer olasılıkları göstermek için): LiveCD , Kurtarma Modu

3
Overkill çözümü.
Thomas Ward

@ThomasW. Neden!? Sadece başka bir seçenek mi? Neden bunun aşırı çözüm olduğunu düşündün?
Maythux

2
@Maythux, teknik olarak doğru olsa da, zaten TTY'lerimiz ve ssh'ımız varken, gerçekten biraz overkill. LiveCD çözümü, coreutils kurduğunuzda (evet, bunu daha önce kazara yaptım) ya da gerçekten karışık bir şey olduğunda daha uygulanabilir.
Sergiy Kolodyazhnyy

1
@Serg ama yine de bir durum, artı Sadece başka bir çözüm, "LiveCd" seçeneğinin açıklandığı gibi "tty" kullanmanın yanı sıra, kurtarma modu seçeneğinin de var. " aynı sorun. Bir liveCd tavsiye etmenin bir sorun olduğunu sanmıyorum!
Maythux

1
@Maythux Eğer TTY’lerde oturum açabilecekler ve 'sanal konsollara' zaten sahiplerse, bunu yapmak için sadece bir LiveUSB / LiveCD’de önyükleme yapmak fazla ve fazladan bir iştir. O bir durum değildir Özellikle de "Ben Erişemiyorum şey" büyük silahlar gerek (Serg yorumlarda ima gibi) böylece
Thomas Ward

2

Yani ben burada bilgiçlik edeceğim:

Terminal emülatörü olmadan bash'a erişebilmemin bir yolu var mı?

Başlayan herhangi bir komut dosyasının #!/bin/bashbunu yapacağına emin olun.

Terminal emülatörü olmayan bir bash komut istemi almamın bir yolu var mı?

Bilinçli olma temamla devam edersek, diğer cevapların bazılarına delik açmanıza izin verir.

Diyelim ki, sistemimdeki her terminal emülatörünü yanlışlıkla kaldırdım:

Bu aslında çekmek çok zor çünkü

basarak CtrlAltF2

Üzerinde çalışan linux çekirdeği sanal terminal emülatörüne sahip başka bir sanal konsola geçiyorsunuz, bu çekirdeğin çıkarılması çok zor ve çekirdeğin standart dışı seçeneklerle yeniden derlenmesi gerekiyor. Bu yüzden uzaktaki bir terminal emülatörü gerektiren ssh / telnet / seri port seçeneklerinde üfleme delikleri sağlar; webmin'e gelince, aynı zamanda bir terminal emülatörüne de sahip (sadece kötü bir tane).

Terminal emülatörsüz bir terminalin fonksiyonunu kullanmanın tek yolu vardır: gerçek bir terminal kullanın. Bir Televideo ve bir teletipe sahiptim (bir TeleType değil, bu bir knockoff idi). Her ikisini de (Televideo'da vi, teletipte (arkadaki acı)) seslendirerek düzenleyebildim. televideo'dan minicom ve seyon kullanan yerel bir bbs. Onları özlediğim tek şey palavra hakları. Ama iki hatlı 20 sütun ekranlı endüstriyel yazıcılar için bir çift konfigürasyon terminali, bir klavye ve acil durum konfigürasyon onarımı için çalışacak bir rs232 arayüzü seçtim. ed kılavuzumun nerede olduğunu.


0

@AB'nin cevabına benzer şekilde , çalışan bir web sunucunuz varsa (Ubuntu’nun apache ile geldiğine inanıyorum), kendi tarayıcınızda phpshell gibi bir şey çalıştırabilirsiniz .

Şahsen ben sadece emacs ve ateş M-x shell RETURN.


Standart Ubuntu bir web sunucusu ile gelmiyor.
muru

2
@muru bir web sunucusu ile birlikte gelir depoda . Sadece bir terminal aç ve yaz sudo apt-get install apache. Bekle.
Bay Lister,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.