Есть также программа под названием «dtach», которая делает это, не накладывая свой собственный экранный буфер. (Я знаю, что ответ довольно поздно, но, тем не менее, я публикую его для тех, кто гуглит и наткнулся на страницу)
Терминальный прокси или экран без эмуляции терминала
Как сделать терминальные приложения невосприимчивыми к закрытию эмулятора терминала, но при этом использовать все функции виртуального терминала?
\ Начать
Я хочу, чтобы мое терминальное приложение оставалось активным и доступным, если я случайно закрыл эмулятор терминала. Эта функциональность обеспечивается screen и tmux, но у них есть проблемы с цветами, и они сбрасывают экран. Да, я могу запустить оболочку внутри экрана, но я не хочу, чтобы оболочка оставалась активной, если не запущена какая-либо другая программа.
\ Конец
Я вижу, что это должно быть что-то вроде экрана, но без эмуляции терминала VT100, что-то, что будет просто применяться независимо от того, что приложение делает с терминалом «Terminal Proxy» (например, вывод чего-либо в stdout / stderr или использование stty для установки параметров терминала) для терминала этот прокси работает.
// Я знаю о screen
и altscreen on
, но это делает либо это ( screen
с TERM=screen
):
или это ( screen
с TERM=rxvt-unicode
):
пока хочу этого ( rxvt-unicode
без screen
)
Я понял, что все выглядит хорошо, если я компилирую rxvt-unicode
с USE=-xterm-color
(на самом деле ВИМ выглядит как на второй картинке, даже без экрана, если добавить этот флаг USE) и установить TERM=screen-256color
, но мне не нравится этот обходной путь, потому что это на самом деле изменения цвета и я могу не будьте уверены, что это всегда изменит их только так:
4 ответа на вопрос
- Популярные
- Новые
- С комментариями
- Активные
Да, я могу запустить оболочку внутри экрана, но я не хочу, чтобы оболочка оставалась активной, если не запущена какая-либо другая программа.
Одним из решений было бы запустить оболочку с экрана (как вы сказали, что вы не хотели), но затем добавить задание Cron, которое будет запускаться каждые 10 минут, чтобы проверить, закрываются ли сеансы экрана.
Если все сеансы экрана отключены, и никакие программы, кроме оболочек, не запускаются из них, вы можете закрыть их.
Экран можно использовать для непосредственного запуска приложения, поэтому при выходе из экрана приложение будет закрыто:
screen <yourprog>
См. 5-й абзац экранной справочной страницы для более подробной информации.
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
Как отправить escape-символ на OS X терминал?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux