LINUX.ORG.RU

Несколько вопросов по screen

 , , ,


1

1

Так как в tmux у меня не отобрахаются некоторые строчки в терминале, например 'ls -1 --color=always /proc' — пропадают некоторые строки (без цвета не пропадают), решил перейти на screen (с ним строчки не пропадают).

Возникло несколько вопросов:

  1. как нормально запускать bash, как в tmux? Потому что он у меня при запуске не читает rcfile: не применяется мой PS1 и всё остальное. Пробовал разные ключи — без толку.
  2. как сделать escape комбинацию клавишь на CTRL+TAB? Как сделать комбинации CTRL+SHIFT+Left и CTRL+SHIFT+Right для переключения на предыдущую/следущую вкладку?
  3. как включить показ нижней панели и настроить цвета и показ элементов, примерно как в tmux? Потому что, на сколько я помню, когда я последний раз пробовал screen много лет назад, там были дурацкие цвета и я не знал как настроить отображение элементов. Нужно что-то наподобие того, что в tmux по-умолчанию: список открытых вкладок и часы в правом нижнем углу. Как сделать 24-х часовой формат часов?

Из мана мало что понятно. Подскажите пожалуйста.

★★★★★

Последнее исправление: teod0r (всего исправлений: 5)

3

$ cat ~/.screenrc 
# An alternative hardstatus to display a bar at the bottom listing the
# # windownames and highlighting the current windowname in blue. (This is only
# # enabled if there is no hardstatus setting for your terminal)

term xterm-256color

hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a "


sin_a ★★★★★
()
Ответ на: комментарий от sin_a

спасибо. немного разобрался.

для чтения rcfile bash'ем прописал
shell -/bin/bash

а как сделать часы в 24 часовом формате?

ещё пробовал прописать
escape ^Qq
для изменения комбинации клавишь на CTRL+q — почему-то не работает.

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

Честно говоря, мне это кто-то когда-то дал скопировать и я не углублялся. Единственное что менял это ставил автозапуск нескольких экранов, но сейчас даже не помню как это делал.

В /usr/share/doc/screen/screenrc посмотри примеры.

sin_a ★★★★★
()
Последнее исправление: sin_a (всего исправлений: 1)
Ответ на: комментарий от teod0r

ещё пробовал прописать escape ^Qq для изменения комбинации клавишь на CTRL+q — почему-то не работает.

escape ^Bb — работает, escape ^Qq — не работает.

Как сделать escape комбинацию CTRL+TAB?

Как забиндить SHIFT+стрелки влево/вправо для переключения между вкладками?

teod0r ★★★★★
() автор топика
Ответ на: комментарий от CrX

Ну вот а в screen есть табы и можно несколько таких прог запустить, не запуская отдельный screen на каждую. В качестве полноценного виртуального терминала он не годится, то в одном то в другом месте косяки вылезают, в нём mc например урезанно работает.

firkax ★★★★★
()
Ответ на: комментарий от teod0r

Покажи скриншоты «правильно» и «неправильно», конфигурацию эмулятора терминала и конфигурацию tmux. Любое значение $TERM, кроме «tmux*» в принципе некорректно, это я могу сразу сказать.

anonymous
()

как поменять дефолтные комбинации клавишь? ^a я использую для навигации в начало строки.

^a,a?

ПыСы: я не сторонник сильных кастомизаций: чем привычный setup ближе к дефолтным настройкам - тем жизнь проще.

bugfixer ★★★★★
()
Последнее исправление: bugfixer (всего исправлений: 1)
Ответ на: комментарий от anonymous

Покажи скриншоты «правильно» и «неправильно»

вот неправильно: https://ibb.co/CQ8fY5R
видно, что между директориями 15 и 33 пустые строки. когда правильно, все строки отображаются.

конфигурацию эмулятора терминала

в /etx/X11/xinit/xinitrc:

exec urxvt -geometry 80x24 -bg black -fg grey +sb -uc -bc -sbg -si -sl 99999 -hold -depth 24 -tn rxvt-unicode-256color -e tmux -2u
в /root/.Xresources:
URxvt.font: xft:DejaVuSansMono-Bold:bold:size=19:antialias=true
URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard
URxvt.keysym.Shift-Control-V: eval:paste_clipboard

и конфигурацию tmux

set-option -g xterm-keys on
set -g status-interval 0

Любое значение $TERM, кроме «tmux*» в принципе некорректно, это я могу сразу сказать.

пробовал TERM=tmux, TERM=tmux-256color — не помогает.

teod0r ★★★★★
() автор топика

Так как в tmux у меня не отобрахаются некоторые строчки в терминале

Положи эту настройку в .tmux.conf Может поможет?

set -g default-terminal "screen"

например ‘ls -1 –color=always /proc’ — пропадают некоторые строки (без цвета не пропадают)

А какие строки пропадают? Полностью удаляются или вместо них пустое место остаётся? Если пустое место выделить и скопировать, в буфере обмена будет пропавшая строка?

Пытался менять цвета терминала? Пытался проверять на другом терминале? urxvt вроде как заброшенный проект, поэтому нельзя исключать, что проблема в нём.

Очень интересно разобраться, потому что никогда не сталкивался с такой проблемой сам и у меня она сейчас не проявляется.

txgk
()
Последнее исправление: txgk (всего исправлений: 2)
Ответ на: комментарий от txgk

set -g default-terminal «screen»

не помогло.

А какие строки пропадают? Полностью удаляются или вместо них пустое место остаётся?

приводил фото — видно.

Если пустое место выделить и скопировать, в буфере обмена будет пропавшая строка?

раньше не додумывался проверить. сейчас проверил: скопировал пропавшую строку и вставил — вставляются пробелы.

Пытался менять цвета терминала?

всмысле цвет фона и шрифта?

Пытался проверять на другом терминале?

пока нет.

teod0r ★★★★★
() автор топика
Ответ на: комментарий от anonymous

И непонятно, что должно быть вместо отсутствующих строк

очевидно, названия директорий.

Может, в цветах для ls проблема?

выяснилось, что даже при запуске ls без цвета пропадают строки. и это не только ls. в less, кстати, не пропадают строки. т.е. если перенаправить вывол в less, все строки на месте.

teod0r ★★★★★
() автор топика
Ответ на: комментарий от sin_a

у меня почему-то не работают комбинации CTRL+Left, CTRL+Right для перемещения курсора на одно слово. Пробовал

bindkey "^[[1;5D" backward-word
bindkey "^[[1;5C" forward-word
-- не работает. Пробовал назначить это на ESC+b и ESC+f — работает, но приходится после каждой комбинации ESC отжимать, иначе если нажимать повторно, там просто вводится b или f.

В /usr/share/doc/screen/screenrc посмотри примеры.

у меня почему-то нету директории /usr/share/doc/screen/. и даже если при компиляции задать --docdir= — не появляется. а в configure нет других опцмй про doc.

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

Сейчас проверил, у меня работает. У меня только приведённый .screenrc, TERM=xterm-256color. Возможно это ещё от терминала зависит, но у меня сейчас в разных было одинаковое поведение, включая xterm. Вообще это всё такая магия в которую я никогда не вникал, старался принимать всё как по умолчанию.

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

txgk,
проверил с xterm — с screen строки не пропадают. c tmux всё-равно пропадают, но их (пропадающих), вроде бы, меньше и пропадают не с самого начала строки. например при выводе dmesg эти строки выглядят как '[21677' но есть строки, которые пропадают целиком, их больше. с urxvt не было строк, пропадающих не с самого начала, все пропадали целиком.

такой вопрос: как в xterm+screen включить комбинации CTRL+SHIFT+C CTRL+SHIFT+V для копирования/вставки? сейчас эти комбинации не работают. Ещё не работает комбинация ALT+> для всавки последнего аргумента последней команды, сейчас вставляется символ «R в кружочке».

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

такой вопрос: как в xterm+screen включить комбинации CTRL+SHIFT+C CTRL+SHIFT+V для копирования/вставки?

решение найдено:

XTerm*vt100.translations: #override \
    Shift Ctrl <Key> C: copy-selection(CLIPBOARD) \n\
    Shift Ctrl <Key> V: insert-selection(CLIPBOARD)
в ~/.Xresources

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

Ещё не работает комбинация ALT+> для всавки последнего аргумента последней команды, сейчас вставляется символ «R в кружочке».

починил:

UXTerm.vt100.metaSendsEscape: true

teod0r ★★★★★
() автор топика

нашёл такое на SO:

Screen doesn't have any shorthand syntax for alt bindings, but you can give it the octal code directly. For instance on my machine, Alt-x has the hex code F8, or 370 octal, so putting

escape \370x

in my screenrc changed the escape code to alt-X

Tested and works with screen 4.00.03 on Linux.

You may have to change the escape, since I think this may depend on things like your language and codeset, etc: how I found out what my escape code was was to type

$ echo -n ^QM-x | perl -ne 'printf "%lo\n", ord($_)'
^Q is the quoted-insert command for readline (it inserts what you type directly without trying to interpret it) and M-x was a literal Alt-X.

что мне передать в эхо для CTRL+TAB?

teod0r ★★★★★
() автор топика