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