Windows 10에 Cygwin을 설치했지만 screen
실패했습니다.
$ screen
Directory '/tmp/uscreens' must have mode 777.
어떤 이유로든 권한을 변경할 수 없습니다.
$ chmod -R 777 /tmp
$ ls -hal /tmp/uscreens
total 384K
drwxr-xr-x 1 username Domain Users 0 May 22 17:37 .
drwxr-xr-x 1 username Domain Users 0 Jul 17 15:54 ..
drwxr-xr-x 1 username Domain Users 0 May 22 17:37 S-username
그래서 내가 완전히 제어할 수 있는 새 디렉터리를 만들었지만 다시 권한 문제가 발생했습니다.
$ SCREENDIR=/cygdrive/e/screens ./screen.exe
Directory /cygdrive/e/screens must have mode 700.
$ ls -hal /cygdrive/e/screens
total 8.0K
drwxr-xr-x 1 username Domain Users 0 Jul 17 16:18 .
drwxr-xr-x 1 username Domain Users 0 Jul 17 16:23 ..
또한 Windows 탐색기 세계에서 r-xr-x 권한을 제거하려고 시도했지만(이제는 사용자에게만 실제로 액세스 권한이 있다고 표시됨) Cygwin 관점에서는 여전히 동일하며 여전히 화면을 사용할 수 없습니다.
답변1
오늘도 같은 문제가 발생했는데 그 원인은 Windows 드라이브가 시스템에 마운트된 방식 때문이라고 생각합니다.
내 구성:
$ cat /etc/fstab
none /cygdrive cygdrive binary,posix=0,user,noacl 0 0
이는 noacl
문제를 일으키는 부분입니다(사용 이유는 본 답변의 범위를 벗어납니다). screen -R
screen 세션에 대해 시작(또는 다시 연결)을 실행하면 오류가 발생합니다.
$ 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
no 를 참조하도록 환경 변수를 설정하는 것이었습니다 /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