Я не знаю, является ли название самоочевидным, но я хотел, чтобы было открыто несколько (на данный момент двух) терминалов без необходимости запуска рабочего стола.
Я хочу запустить PHP-скрипт (полный рабочий день) и иметь возможность использовать мой терминал Raspi, как и тогда, когда я запускаю Raspi с помощью Raspbian.
Ответы:
Просто используйте Alt + F1-F12, чтобы вы могли иметь 12 различных консольных вкладок без запуска графического интерфейса
источник
Если вы находитесь на консоли (подключенная клавиатура и экран), вы должны иметь возможность использовать систему виртуальной консоли Linux для переключения между несколькими терминалами, используя (ctrl-) alt-F1 - F12 и другие с помощью shift.
Количество настроенных терминалов и число из них, имеющих процессы getty (которые запрашивают у вас логин и пароль), зависит от конфигурации .
источник
Даже лучше чем
screen
есть (на мой взгляд)tmux
. Вы можете установить его черезsudo apt-get install tmux
. Также проверьте справочную страницу сman tmux
.Вы можете запустить его, набрав
tmux
на одной из своих консолей (см. Ответ XTL).Вот наиболее важные команды (
C-b d
означает: одновременно нажмите control и B, затем нажмите D):C-b d
отрывать сессиюtmux attach
на оболочке, чтобы повторно присоединить запущенный сеансC-b "
разделить текущий кадр по горизонтали (новая оболочка запущена)C-b %
разделить текущий кадр по вертикали (новая оболочка запущена)C-b arrow (up, down, left, right)
перемещаться между окнами в текущем кадреC-b c
новый кадр (новая оболочка запущена)C-b n
следующий кадрC-b l
последний кадрC-b b
отправитьC-b
в работающее приложениеисточник
Вы можете сделать это с экрана также. С помощью экрана вы можете даже отсоединиться от сеанса экрана, выйти из системы, войти в систему, а затем снова подключиться к сеансу экрана, не теряя ничего. Программы будут продолжать работать, и все выходные данные будут отображаться на терминалах, от которых вы отключены.
Несколько ссылок на экранные уроки:
http://www.rackaid.com/resources/linux-screen-tutorial-and-how-to/
http://magazine.redhat.com/2007/09/27/a-guide-to-gnu-screen/
Ссылка на ветку с полезными советами .screenrc:
https://bbs.archlinux.org/viewtopic.php?id=55618
Специальное руководство для Raspberry Pi:
http://raspi.tv/2012/using-screen-with-raspberry-pi-to-avoid-leaving-ssh-sessions-open
источник
Если скрипт php, который вы хотите запустить, не взаимодействует с пользователем или требует ввода,
Вы можете использовать
&
команду, которая отправляет скрипт в фоновом режимеВот пример.
Это отправит скрипт в фоновый режим, где он будет продолжать работать.
Если вы подключитесь к своему терминалу через ssh, вы сможете дважды войти в систему с одним и тем же пользователем и иметь два терминала.
Если вы хотите открыть несколько терминалов из сеанса SSH,
Вы должны смотреть на экран или даже лучше установить,
byobu
который является оберткой вокруг экрана.byobu - это оболочка, которая позволяет легко открывать новые экраны с помощью простой функциональной клавиши вместо комбинации клавиш ctrl-a. Он также показывает строку состояния со всеми открытыми виртуальными терминалами, которые могут быть названы.
Еще одна приятная особенность заключается в том, что весь ваш экран может работать, пока ваше ssh-соединение отключено. Вы просто подключаетесь снова через ssh и вызываете byobu, и все как раньше.
Надеюсь, это поможет.
источник
Для полноты, другой вариант заключается в использовании byobu . Это удобный слой поверх экрана GNU . Это обеспечивает хорошие значения по умолчанию, и в моем смысле это проще в использовании. Я лично использую его на моем Rapsberry Pi, и он работает просто отлично. Чтобы установить его, просто наберите:
После установки настройте его с помощью:
Вы можете выбрать его запуск автоматически при входе в систему и переключать апплеты уведомления о состоянии ( время работы, загрузка, дата ... )
Как примечание, этот вид виртуальной консоли также полезен для совместного использования одного и того же ввода / вывода консоли разными пользователями на разных машинах (это можно назвать совместным использованием экрана в текстовом режиме ).
источник
byobu-config
).Поскольку вашим первоначальным требованием было запустить PHP-скрипт в фоновом режиме, вы можете использовать команду
nohup
. Пример:После запуска команда, указанная в качестве аргумента командной строки
nohup
, выполняется в фоновом режиме , и ее ввод / вывод отсоединяются от терминала, который ее запустил, чтобы предотвратить отправкуSIGHUP
сигнала (отсюда иnohup
имя) в фоновый процесс, когда Вы выходите из стартовой консоли (сигнал обычно вызывает выход из программы). Вывод перенаправляется в файл (по умолчаниюnohup.out
).Для получения дополнительной информации:
man nohup
.Для лучшего и более полного ответа вы можете полностью «демонизировать» вашу программу. Вы, вероятно, можете найти ресурсы в Интернете, которые объясняют, как это сделать с помощью PHP-скриптов.
источник
disown
для предотвращения зависания выбранных фоновых процессов.