'/ Var / run / screen' dizini oluşturulamıyor: İzin reddedildi


26

Bazen, genellikle bir çarpışma veya ani kapanmadan sonra, screenbaşlamayı reddeder. Gibi komutlar

screen
screen -ls
screen -r
screen -d

aşağıdaki çıktı ile sonuçlanır

'/ Var / run / screen' dizini oluşturulamıyor: İzin reddedildi

Burada sorun ne? Bunu nasıl düzeltebilirim?

Yanıtlar:


37

Yeniden başlatmalarda düzenli sudo gerektirmeyen bir çözüm bulundu

Gönderen 'Eric Z Ma' systutorials @ :

Dizin /var/run/screen/ekran için soket dizindir.

Neyse ki, ekran SCREENDIRalternatif bir soket dizini almak için bir ortam değişkenini okur .

Etrafında çalışmak için aşağıdaki gibi bir dizin oluşturabilirsiniz ~/.screen:

mkdir ~/.screen && chmod 700 ~/.screen

ve SCREENDIRbu dizine işaret etmek için:

export SCREENDIR=$HOME/.screen

Daha ~/.bashrcsonra da etkili olması için bu satırı da içine koyabilirsiniz .


25

Bu sorun burada belgelenmiştir . Kısacası,

/etc/rcS.d/S70screen-cleanup uptart üzerinden çalıştırmayı beklediğinden çok daha önce çalışıyor ve bu dizini doğru şekilde temizleyemiyor.

Aşağıdaki komutla düzeltilebilir

sudo /etc/init.d/screen-cleanup start

1
Bu çalışıyor, ancak her başlangıçta çalıştırmam gerekiyor, aksi takdirde hatayı tekrar tekrar alacağım.
18'de

3

Centos / RHEL 7 tabanlı bir dağıtım çalıştırırken buna rastladım ve / etc altında hiçbir yerde 'ekran temizleme' adı verilen bir şey yok.

Bulduğum bir geçici çözüm, basitçe çalıştırmak sudo screenve hemen ondan çıkmaktı.

Bundan sonra herhangi bir özel ayrıcalık olmadan ekranı çalıştırabildim, bu yüzden şans verildiğinde onayı temizlemek / var / çalıştırmak gibi görünüyor.


1

Aşağıdaki komutları uygulayarak bu sorunu giderebilirim.

sudo mkdir /var/run/screen
sudo chmod 777 /var/run/screen

1
Bu iyi bir çözüm değil. Her yeniden başlattığınızda bunu tekrarlamanız gerekir.
arupgsh

0

TL; DR : Debian Stretch'te ve sonrasında systemd-tmpfiles-setup.servicebaşarıyla başlatıldığından emin olun :

$:> systemctl status systemd-tmpfiles-setup.service
● systemd-tmpfiles-setup.service - Create Volatile Files and Directories
   Loaded: loaded (/lib/systemd/system/systemd-tmpfiles-setup.service; static; vendor preset: enabled)
   Active: active (exited) since Thu 2018-06-21 19:54:06 CEST; 41min ago
   ...

Devre dışı bırakılmışsa ( Loaded: ... ;disabled; ...), ile etkinleştirmek isteyebilirsiniz systemctl enable systemd-tmpfiles-setup.service. Bir dahilinde ekranını kullanmak istiyorsanız liman işçisi kap o zaman ya almak zorunda kapsayıcı görüntüde çalışan systemd veya çalıştırmak zorunda systemctl start systemd-tmpfiles-setup.serviceveya /etc/init.d/screen-cleanup start( Huey önerdiği gibi ) sizin kaba giriş yaptıktan sonra her seferinde.

Ayrıntılar: Debian Stretch'ten beri başlangıç ​​komut dosyası /etc/init.d/screen-cleanupyürütülmez, çünkü varsayılan olarak bu hizmet maskelenir ( /lib/systemd/system/screen-cleanup.service -> /dev/null), bu nedenle systemd bunu yoksayar.

Bunun yerine , önyüklemede yapılandırıldığı gibi systemd-tmpfiles-setup.serviceoluşturur :/run/screen/usr/lib/tmpfiles.d/screen-cleanup.confd /run/screen 0775 root utmp


Her yeniden başlatmanın ardından OP'nin (manuel olarak) gerçekleştirmesi gereken bir prosedür önerdiğiniz (aynı zamanda) gibi görünüyor. Kalıcı bir çözüm sunabilir misiniz, bunun sadece bir kez yapılması gerekir mi? Lütfen yorumlarda yanıt vermeyin; daha net ve eksiksiz hale getirmek için cevabınızı düzenleyin .
Scott

@ systemctl enable systemd-tmpfiles-setup.serviceJacob'un yeniden başlatmalarda devam ettiğini öne sür.
Tagar
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.