Экран GNU не работает в Cygwin — каталог должен иметь режим 700

В категории грубых -хакерских решений отправьте бесплатный возврат каретки, который будет там, если понадобится, и выброшен, если нет:

{ echo "Please see attached file"; echo; } | mailx...
0
17.07.2019, 19:26
1 ответ

Сегодня у меня возникла та же проблема, и я полагаю, что причина в том, как диск Windows монтируется в вашей системе.

Моя конфигурация:

$ cat /etc/fstab
none                          /cygdrive             cygdrive  binary,posix=0,user,noacl 0 0

Это бит noaclвызывает проблему (, которую мы используем по причинам, выходящим за рамки этого ответа ). Если я запускаю screen -Rдля запуска (или повторно подключаю )к сеансу экрана, я получаю вашу ошибку:

$ screen -R
Directory /tmp/uscreens/S-myuser must have mode 700.
$ ls -ld /tmp/uscreens/S-myuser
drwxr-xr-x 1 myuser Domain Users 0 May 13 06:57 /tmp/uscreens/S-myuser/
$ chmod 700  /tmp/uscreens/S-myuser
$ ls -ld /tmp/uscreens/S-myuser
drwxr-xr-x 1 myuser Domain Users 0 May 13 06:57 /tmp/uscreens/S-myuser/
$ cd /tmp
$ pwd -P
/cygdrive/c/tmp

Как вы можете видеть, у нас есть /tmpв качестве символической ссылки, снова ссылающейся наC:/tmp(по причинам, выходящим за рамки этого ответа ).

Решение состоит в том, чтобы установить переменную окружения SCREENDIRдля ссылки на местоположение, которое не находится под /cygdrive. Для моей установки это был мой домашний каталог:

$ SCREENDIR=~/.screens screen -R

Это запустило сеанс screenбез проблем.

Подтверждение папки не ниже/cygdrive:

$ cd ~/.screens && pwd -P
/home/myuser/.screens
$ ls -ld ~/.screens
drwx------+ 1 myuser Domain Users 0 May 13 07:14 /home/myuser/.screens/

Как видите, папка имеет режим 700, как того требует screen, и находится под /home, а не /cygdrive.

0
13.05.2020, 14:31

Теги

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