В категории грубых -хакерских решений отправьте бесплатный возврат каретки, который будет там, если понадобится, и выброшен, если нет:
{ echo "Please see attached file"; echo; } | mailx...
Сегодня у меня возникла та же проблема, и я полагаю, что причина в том, как диск 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
.