Я пытаюсь создать довольно симпатичную настольную консоль, которая может показывать системные журналы из /dev /logi. Устройство отображает новый контент из нескольких файлов в /var /log. Я хочу использовать urxvt и tmux для этого. Кажется, все работает, но я не знаю, как его запустить. Я использую openbox, поэтому я попытался добавить следующую строку в /home/morfik/.config/openbox/autostart:

(sleep 2 && urxvt -name 'konsola_desktop' -e sh -c "tmux -c 'cat /dev/logi'") &

Это не работает, как ожидалось. Звезды urxvt, и если что-то регистрируется, это отображается на консоли. Но одна часть отсутствует, там нет tmux. Мне это нужно, потому что я установил в /home /morfik /.Xresources следующий вариант:

URxvt*saveLines: 0

и я использую буфер tmux, указанный в /etc/tmux.conf:

set -g history-limit 5000

Так что, если я начну команду выше, я не могу прокрутить вывод. Я даже не могу разделить экран, потому что tmux там нет. Там также нет процесса tmux:

ps -eo "%mem args" | grep -i tmux
1.1 urxvt -name konsola_desktop -e sh -c tmux -c 'cat /dev/logi'
0.0 sh -c tmux -c 'cat /dev/logi'

Но когда я просто делаю следующие шаги:

urxvt -name 'konsola_desktop'
tmux
cat /dev/logi

все работает просто отлично

ps -eo "%mem args" | grep -i tmux
0.1 tmux
0.1 tmux

Кто-нибудь знает, что происходит?

1 ответ1

1

Я нашел решение.

Прежде всего, лучше использовать файл конфигурации tmux, а не вводить команду в строку автозапуска. Итак, было бы:

new true
set set-remain-on-exit on
new -n logi "cat /dev/logi"
neww -n test
splitw -v -p 50 -t 0 
neww -n test2
splitw -h -p 50 -t 0
set -u set-remain-on-exit

Вышеупомянутые строки должны быть добавлены в /etc/tmux.conf, и теперь строка, которая запускает консоль, должна выглядеть следующим образом:

(sleep 2 && urxvt -name 'konsola_desktop' -e bash -c "tmux attach") &

Это даже лучше, потому что я могу определить несколько окон и переключаться между ними.

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