Не может выполнить команду при запуске экрана GNU

Я не 100%, но я думаю, что аппаратные ключи usb не работают ими сам. Они - просто передача/получатели с драйвером ОС, делающим фактическую работу. Таким образом, я не обеспокоился бы настройками BIOS.

Я имею bluez пакет установил, он предоставляет демону, который работает, прежде чем я войду в свой рабочий стол. Не делая чего-то большего чем соединяя купленное устройство в первый раз после входа в систему, система обычно видит его в следующий раз, когда это загружается перед входом в систему.

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

5
13.04.2017, 15:36
4 ответа

Это не работает потому что cd оболочка встроенная команда (попытка which cd). Экран имеет команду chdir, которую можно использовать для достижения цели: Поместите следующую внутреннюю часть Ваш .screenrc:

chdir /home/cataldo/Programs

Теперь экран "Пуск" и Вы должны быть в указанном каталоге.

10
27.01.2020, 20:31

screen не знает о cd поскольку это - встроенная оболочка, таким образом, screen не может выполнить его. Однако screen имеет встроенную команду chdir. Если Вы выполняетесь chdir отдельно от screen командная строка, все новые окна в screen сессия запустится в Вашем $HOME. Если Вы выполняетесь chdir /home/cataldo/Programs от screen командная строка, все новые окна в screen сессия запустится в /home/cataldo/Programs.

Если Вы хотите открыть 3 окна в различных каталогах при запуске нового screen сессия, в Вашем ~/.screenrc определите каталог с chdir и затем сразу запустите новое окно.

# Start these windows when screen starts up
chdir /home/cataldo/Programs
screen 0
chdir /usr/local/bin
screen 1
chdir /tmp
screen 2
chdir

От man 1 screen (обратите внимание на последнюю строку),

chdir [directory]
Change the current directory of screen to the specified directory or,
if  called  without  an argument,  to your home directory (the value of
the environment variable $HOME).  All windows that are created by means
of the "screen" command from within ".screenrc" or by means of "C-a : 
screen ..." or "C-a c" use this as their default directory.  Without a 
chdir command, this would be the directory from which screen was invoked.  
Hardcopy  and  log  files  are  always written  to  the window's default 
directory, not the current directory of the process running in the window.  
You can use this command multiple times in your .screenrc  to  start  
various windows  in  different default directories, but the last chdir value 
will affect all the windows you create interactively.
7
27.01.2020, 20:31

То, что Вы говорите, не имеет большого смысла. Даже если cd если бы реальный команда были, то экран просто изменил бы каталог и затем сразу вышел бы, который никого не сделал бы никакая польза безотносительно.

Если Вы только хотите запустить определенную экранную сессию в конкретном каталоге:

(cd home/cataldo/Programs && screen)

Это изменит каталог, экран "Пуск" с оболочкой, и возвратится к Вашему существующему каталогу, когда экран выйдет.

3
27.01.2020, 20:31
  • 1
    спасибо за ответ, но я боюсь, что это не имеет большого смысла. Когда я открываю экран, я хочу открыть 3 различных подэкрана в 3 различных подкаталогах, поскольку его показывают на странице, связанной в вопросе. Я думаю, что все это должно быть инициализировано в .screenrc, не из командной строки. –  Gismo Ranas 30.03.2012, 17:50

Вы можете добавить фразу "cd /home/cataldo/Programs^M" в ваш ~/.screenrcили в подсказку, используя C-a :

2
27.01.2020, 20:31

Теги

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