Как к окну с несколькими панелями вертикально на Экране GNU?

Возможно, самый короткий путь был бы:

target="/usr/bin/firefox"    # change me
dir="/usr/bin"               # change me
realtarget="$(realpath "$target")"
for file in $(find "$dir" -print); do
    realfile="$(realpath "$file")"
    test "$realfile" = "$realtarget" && echo "$file"
done

Но это не очень эффективно.

Если Вы не имеете realpath, установите его, например. apt-get install realpath. Вы могли также использовать stat -N или ls -l или pwd -P эмулировать realpath, но те пути более тверды.

Кроме того, вышеупомянутый пример не обработает имена файлов с пробелами в нем правильно. Вот лучший способ сделать это. Отметьте это IFS=$'\n' требует bash или zsh.

OIFS="$IFS"
IFS=$'\n'
target="/usr/bin/firefox"    # change me
dir="/usr/bin"               # change me
realtarget="$(realpath "$target")"
find "$dir" -print | while read -r file; do
    realfile="$(realpath "$file")"
    test "$realfile" = "$realtarget" && echo "$file"
done
IFS="$OIFS"
75
13.12.2011, 05:21
4 ответа

Экран GNU <4.01 не может поддерживать вертикальное разделение без патча.
Экран GNU> 4,01 поддержки вертикальное разделение.

Патч лицензируется под GPLv2. Некоторые люди говорят что вертикальное разделение в GNU screen подает медленную заявку, но я не протестировал. Я использую tmux (оконечный мультиплексор)

19
27.01.2020, 19:31
  • 1
    Примечание: Это больше не верно. Вертикальные разделения являются частью официального источника и поставки пакетов Ubuntu со встроенной функциональностью. большое спасибо –  JaredMcAteer 20.02.2013, 17:49
  • 2
    @JaredMcAteer, это может быть часть официальных пакетов поставки Ubuntu с, но новейший выпуск экрана, доступного через страницу проекта экрана GNU, 4.00.03, выпущен в 2006. У них может быть функциональность в их мерзавце repo, но это еще не часть выпуска насколько я нашел. –  Brian Vandenberg 14.10.2013, 23:58
  • 3
    я ненавижу ответы, где предлагается использовать другое программное обеспечение. +1 для tmux, тем не менее. –  pfnuesel 30.01.2014, 03:58
  • 4
    я думаю стек, должен взять принятый ответ, после того как ДРУГОЙ ответ превосходит его в точках, поверните принятую желтую галочку, затем добавьте зеленую галочку к проголосовавшему самому высокому. Это полностью основано на очевидном факте, что галочка GREEN предполагается более реалистическому числу. Однако дело не в этом. РЕАЛИСТИЧЕСКОЕ число является тем с САМЫМИ ВЫСОКИМИ ГОЛОСАМИ, почти всегда. Т.Е. эта зеленая проверка не является ответом, посмотрите проголосовавшее самое высокое.. –  Brian Thomas 19.03.2016, 01:16
  • 5
    Yay, другой проект, который отъехал SourceForge! отредактированная ссылка. –  naught101 19.05.2016, 03:20

Используйте -v опция к split команда в screen. Из страницы справочника:

   Split  the current region into two new ones. All regions on the display
   are resized to make room for the new region. The blank window  is  dis‐
   played  on  the  new  region. Splits are made horizontally unless -v is
   used. Use the "remove" or the "only" command  to  delete  regions.  Use
   "focus" to toggle between regions.
7
27.01.2020, 19:31
  • 1
    Который split команда - Вы относящийся к? –  xiaohan2012 13.12.2011, 06:54
  • 2
    Как упомянуто, команда в screen. –  Arcege 13.12.2011, 08:10
  • 3
    это не принимает аргументы. :( –  Rocky 13.12.2011, 09:41
  • 4
    Это работает здесь (Ubuntu 11.10), также с shortcur C-a |. –  enzotib 13.12.2011, 10:35
  • 5
    Так, для ввода команд на экране нужно сделать C-a : (управляйте a, двоеточием). Там можно сделать split или split -v. C-a | ярлык для вертикального разделения, все же. –  droope 07.07.2014, 08:00

Последняя версия экрана GNU позволяет Вам, разделяет окно вертикально без любых внешних патчей. Вот один способ получить его и использовать его:

  1. Контроль/клон/загрузка источник
  2. Создайте его в легкой последовательности ./autogen.sh, ./configure, make и install. У меня не было проблем с зависимостями от Пумы.
  3. Получить вертикальное использование разделения:

    C-a |     // Create a split
    C-a <Tab> // Move to the split
    C-a c     // Create a new window within the split
    

Я не думаю, что это - причина больше переключаться на tmux как другие, предлагали.

143
27.01.2020, 19:31
  • 1
    это возможный предварительно сконфигурировать экран для автозапуска с несколькими разделениями? –  Fedir RYKHTIK 03.04.2013, 16:41
  • 2
    @Fedir Извините за последний ответ. Но я не уверен. –  gkb0986 06.05.2013, 00:16
  • 3
    Уверенный! Необходимо добавить split, split -v и focus команды в screenrc файле. Даже можно поместить экран в другом экране для создания сложных конфигураций. –  Kondybas 27.05.2014, 04:28
  • 4
    @Kellen: Когда Вы говорите "Последнюю версию...", какую версию Вы имеете в виду? У меня есть Экранизация 4.00.03 (FAU) 23 октября 06, но ни один C-a | ни split -v работа. Например, когда я выполняюсь split -v управляйте, чтобы сообщение об ошибке было split: no arguments required –  John Prior 21.01.2015, 21:30
  • 5
    Для неразделения окна снова можно продолжить читать здесь: Unix: Как не разделить на экране –  hakre 15.07.2015, 10:23

Проверьте видео учебное руководство на Разделение экрана с Экраном в Linux - Bash. В минуту 2:00 времени было бы решение.

Ctrl+A+S # Создают другое окно

Ctrl+A+Tab #, Перемещающийся из другого окна

Ctrl+A+c # Создают новую сессию

Ctrl+A + | # Разделение вертикального

24
27.01.2020, 19:31

Теги

Похожие вопросы