Powiedzmy mam przypadkowo odinstalowane każdy emulator terminala w moim systemie: xterm
, uxterm
, gnome-terminal
, guake
, itd. Czy istnieje sposób można uzyskać dostęp bash
bez emulatora terminala?
Jednym z możliwych sposobów jest stworzenie i uruchomienie skryptu powłoki, ale poza tym, czy mogę uzyskać interaktywną powłokę?
To jest czysto hipotetyczne, ale dziękuję za wszystkie odpowiedzi!
command-line
bash
Huey
źródło
źródło
Odpowiedzi:
Tak, naciskając CtrlAltF21 . To daje dostęp do wirtualnej konsoli TTY2. I możesz ponownie zainstalować dowolny emulator terminala stamtąd
sudo apt-get install terminal-name
, gdzie,gnome-terminal
na przykład , jest nazwa terminala .Aby wrócić do GUI, najpierw wpisz,
exit
aby wylogować się z wirtualnej konsoli, a następnie naciśnij, CtrlAltF7aby przełączyć z powrotem do GUI. (Jeśli chcesz, aby sesja TTY była otwarta, pomińexit
część pisania )Edycja: 17 czerwca 2015 r
Wymyśliłem inne rozwiązanie: jeśli masz IDE języka C, możesz skompilować następujący kod, a konsola IDE da ci teraz dostęp do bash
Uwaga: CtrlAltF2 nie jest jedyną opcją. Można użyć CtrlAltF1, CtrlAltF3, CtrlAltF4, CtrlAltF5i CtrlAltF6też, co daje tty1 Virtual Console, tty3, tty4, TTY5 lub TTY6 odpowiednio.
źródło
xinit
lubstartx
faktycznie wchodziłeś do X11, jeśli z jakiegoś powodu musiałeś uruchomić program GUI. :)Jeśli masz uruchomiony serwer ssh, możesz połączyć się przez ssh z innego systemu.
Jeśli instaluję system, najpierw instaluję i uruchamiam serwer SSH. Rodzaj ubezpieczenia na życie. =)
źródło
Ctrl+ Alt+ ( F1Przez F4co najmniej może nawet F6) uruchomienie interfejsu terminala na konsolach wirtualnych. Tam, aby wrócić do GUI, użyj Ctrl+ Alt+ F7.
Jeśli to zrobisz, powinieneś być w stanie dostać się do terminala, do którego możesz się zalogować, a następnie uzyskać dostęp do terminala. Skrypty Bash będą jednak nadal działać, jeśli zostaną zautomatyzowane
cron
i zostaną kliknięte, aby uruchomić (lub nie w terminalu). Terminal emulatory, które „dają ci” interaktywną powłokę, ale ostateczniebash
,zsh
itp, które są rzeczywiste pociski nadal istnieją i mogą być uruchamiane za pośrednictwemcron
, skrypty, a nawet konsole wirtualne na klawiaturze kombinacje powyższych.Pamiętaj jednak, że jeśli twoje skrypty potrzebują interaktywnego interfejsu, będziesz musiał użyć wirtualnych konsol lub ponownie zainstalować emulator.
źródło
Jeśli jest to pytanie z testu, dla kompletności dodam normalne numery seryjne tty, w których można podłączyć do komputera za pomocą kabla szeregowego. potrzebujesz getty (lub dowolnego innego tty seryjnego słuchacza, który jest teraz nazywany) uprzednio skonfigurowanego, zanim stracisz terminal, i potrzebujesz drugiego komputera, aby porozmawiać z pierwszym, więc w sytuacji awaryjnej w domu tak się nie stanie .
Możesz także mieć konsolę webmin, która daje (w efekcie) dostęp do powłoki, ale nie jest to powłoka interaktywna technicznie. w tym momencie lepiej jest wykonywać proste polecenia, takie jak apt-get some-terminal-emulator.
Jeśli masz otwarte okno przeglądarki, teoretycznie możesz poszukać emulatora terminala Java, ale domyślam się, że będziesz musiał zainstalować wcześniej, a samo okno przeglądarki nie pozwoli ci uzyskać dostępu do podstawowego prawa pty, ale nie mam czasu na testowanie w żaden sposób.
więc powyższe pytania to „jakie są wszystkie możliwe sposoby”, niekoniecznie przydatne w prawdziwym życiu w domu, chociaż większość serwerowni prawdopodobnie miałaby dostęp szeregowy.
hmm, wiele innych narzędzi (emacs, vim itp.) pozwala na pewien poziom ostrzału. miejmy nadzieję, że masz otwarte xemaki
źródło
ESC :shell
; podczas gdy geany ma „widżet emulatora terminalu wirtualnego (VTE)” w zakładce okienka wiadomości, pod warunkiem żelibvte.so
jest dostępnyChociaż wszystkie powyższe odpowiedzi są idealne, a ponieważ używasz Linuksa, masz wiele innych możliwych rozwiązań:
źródło
Będę tutaj pedantyczny:
Upewnij się, że każdy skrypt, który zaczyna się od
#!/bin/bash
, zrobi to.Czy istnieje sposób, aby uzyskać monit bash bez emulatora terminala?
Kontynuując mój motyw bycia pedantycznym, wybijmy dziury w niektórych innych odpowiedziach.
To jest naprawdę bardzo trudne do zrobienia, ponieważ
przełączasz się na inną wirtualną konsolę, na której działa emulator terminalu wirtualnego jądra Linux, który jest bardzo trudny do usunięcia i wymaga ponownej kompilacji jądra z niestandardowymi opcjami. Więc pozwólmy wydmuchać dziury w opcjach ssh / telnet / port szeregowy, które wymagają zdalnego emulatora terminala; podobnie jak webmin, ma również emulator terminala (tylko kiepski).
Jest tylko jeden sposób użycia funkcji terminala bez emulatora terminala: użyj prawdziwego terminala. Kiedyś miałem Televideo i teletype (nie TeleType, to był podróbka) Byłem w stanie edytować pliki za pomocą obu (vi na Televideo, ed na teletype (co za ból z tyłu)) wywołuje połączenia lokalne kule za pomocą minicom i seyon z telewizji. Wiesz, że jedyne, za czym tęsknię, to prawo do przechwalania się, ale wybrałem kilka terminali konfiguracyjnych do drukarek przemysłowych, które mają dwuwierszowy wyświetlacz 20 kolumn, klawiaturę i interfejs rs232, który będzie działał do awaryjnej naprawy konfiguracji, gdy tylko się domyśliłem gdzie jest moja instrukcja ed.
źródło
Podobnie do odpowiedzi @AB , jeśli masz uruchomiony serwer WWW (uważam, że standardowy Ubuntu pochodzi z apache), możesz uruchomić powłokę we własnej przeglądarce za pomocą czegoś takiego jak phpshell .
Osobiście odpaliłbym emacsa i
M-x shell RETURN
.źródło
sudo apt-get install apache
. Zaczekaj.