1

Привет всем, мне интересно, могу ли я открыть оболочку или новый терминал изнутри терминала в среде unix/linux. В частности, командная строка только одна, где нет графического интерфейса. Это выполнимо? как мне это сделать?

3 ответа3

6

Запустить screen(1). Это терминальный мультиплексор. Это позволяет создавать несколько оболочек, работающих под экраном, между которыми вы можете переключаться. Вы можете "отсоединиться" от экрана, чтобы вернуться к исходной оболочке, и "заново прикрепить", чтобы получить доступ к этим оболочкам.

Также есть tmux(1), который делает то же самое. И на некоторых Unices, window(1) или splitvt(1). Но screen(1) является наиболее распространенным и, вероятно, инструментом, для которого вы наиболее легко найдете помощь.

1

Вы можете сделать это в zsh, запустив suspend чтобы переключиться со второй оболочки на первую, и fg чтобы переключиться с первой на вторую.

Вы должны быть в состоянии сделать что-то подобное в bash, используя kill -STOP $$ вместо suspend .

Но экран GNU или tmux будет проще.

0

По умолчанию существует несколько виртуальных консолей, которые вы можете переключать в Linux, обычно нажимая Alt + одну из функциональных клавиш, обычно от F1 до F7. Количество доступных консолей зависит от того, как была установлена директива NR_CONSOLES, когда ваше ядро было скомпилировано, и может варьироваться в зависимости от дистрибутива.

Если вы хотите разветвить другую оболочку, просто запустите бинарный файл, например: /bin/bash (просто bash будет работать нормально, так как обычно он у вас на пути). Имейте в виду, что это не сделает старую оболочку доступной, если вы не отправите ее в фоновый режим или не запустите в сеансе экрана.

Если вы используете среду рабочего стола и запускаете окна терминалов, вы обычно можете сопоставить ключи для запуска большего количества окон терминалов из среды. Я знаю, что GNOME и KDE обладают этой способностью. Вы можете переключаться между графическими окнами с помощью ALT+TAB.

Если вы сообщите нам свой сценарий использования, мы, возможно, найдем более подходящее решение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .