“Hata: XDG_RUNTIME_DIR ortamda ayarlanmadı.” nautilus'u kök olarak çalıştırmaya çalışırken


15

Kök olarak nautilus çalıştırmaya çalışıyorum ama terminalden "sudo nautilus" çalıştırdığımda, aşağıdaki hatayı alıyorum:

hata: XDG_RUNTIME_DIR ortamda ayarlanmadı.

(nautilus: 9341): Gtk-UYARI **: ekran açılamıyor:

Ben kök olmayan olarak nautilus çalıştırmaya çalıştığınızda sorun oluşmaz. Ubuntu 14.04 kullanıyorum. Bunu nasıl düzeltebileceğimi bilen var mı?


Sadece kayıt için, X11Forwarding ssh üzerinden yapmaya çalışırken aynı hatayı geldikten sonra buraya geldim. Çözüm: -Xssh oturumumu başlatırken seçeneği kullanmayı unuttum .
JW.

Yanıtlar:


14

Yazılımı başka bir kullanıcı olarak çalıştırdığınızda, aslında bazı "aşırı" değişkenleri (kütüphaneleri enjekte etmekten veya belirli ayrıcalıkları ayarlamaktan sorumlu değişkenler) taşımayan yeni minimal ve yalıtılmış ortama başlıyorsunuz. sudo nautilusÇağrınızı aşağıdakilerle değiştirin ; geçerli oturumdan kullanıcıya özgü x sunucu ayarlarını sürdürür:

pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY nautilus

Bu bir defalık düşük seviyeli bir çözümdür, ancak yanlış yapılandırılmış bir makinede çalışacaktır. Kalıcı olarak "düzeltmek sudo" istiyorsanız, ortam yapılandırmanızla ilgili sorunu bulmanız ve diğer yanıtlarda açıklandığı gibi düzeltmeniz gerekir.


1
@Cyprian Guerra - Bu, çevreye girmiyor, bu sadece bir kez koşmanıza izin veriyor. Bu pek yardımcı olmuyor. Çalıştırıldığında sudo nautilus, çalışma terminalden normal şekilde çalışmalıdır. Normalde bunu yeni bir kurulumda terminalden yaptığımda sudo ile normal şekilde açılır.

@ user94959 Temel prensibi anlamıyorsunuz - yeni ortam ayarlanıyor, değişkenler taşınıyor, görev çalışıyor, görev bu ayrı ortamdan çıktığında yok ediliyor. Bu nedenle, evet, her yeni ortam için değişkenleri ayarlamanız gerekir. Malzemeyi deneyin okuma daha isterseniz pkexecve sudoyanı adam sayfalarını sıra ilgili anlaşmazlık için google.
cprn

@CyprianGuerra o zaman nasıl masaüstü menüden uygulamayı açmaya çalıştığınızda yükseltilmiş ayrıcalıklar gerektiren şifre girişinden sonra çalışabilir? Açıkçası XDG ortamında normal gibi ayarlanmadığı için doğru şekilde başlamazsa yapılandırmada eksik bir şey var mı? Sorun, bir Cannot open displayşeyin yapılandırma dosyasında bir şey eksik olduğu anlamına gelir, çünkü bir şey onu değiştirdi ve yapmaması gerektiğinde ortamdan kaldırdı. Peki kalıcı olarak çevreye nasıl geri konulabilir, bu yüzden bununla başa çıkmak zorunda değilim?

1
@sherrellbc Politika kitinin çalıştırmadan envönce açık bir şekilde çalışmasını söylüyorum nautilusve eski değişken benim için değişkenleri ayarlamaya özen gösteriyor. Kontrol edebilirsiniz man env.
cprn

1
@cprn D'oh. Önce man sayfasını kontrol etmeliydim. env COMMAND ARG ...
sherrellbc

1

Aynı sorunu Ubuntu 14.04'te de yaşadım. Tuşuna basarak terminali açın,

Ctrl+ Alt+T

sonra sudo visudo

hattı değiştir

Varsayılanlar env_keep = "https_proxy"

için

Varsayılanlar env_keep + = "https_proxy"

Cazibe gibi çalıştı.


İşe yarıyor ama aynı şeyi yapmak $XAUTHORITYamacına meydan okuyor.
cprn

1

Kolaylaştırmak için - sistemimin yeni önyüklemesini daha açıkladı.

Buradaki tüm açıklamalardan sonra sonuca geldim - ve terminaldeki "env" zaten bu oturum için doğru olduğunu söyledi:

Ortam değişkenini kullanmak için şu iki satır:

seçtiğim tmp davranışı için:

mkdir -pv ~ / .cache / xdgr

Ortam değişkenini ayarlamak için:

dışa aktar XDG_RUNTIME_DIR = $ PATH: ~ / .cache / xdgr

Terminali kapattıktan ve env'in geri çağrılması için yeni bir açıktan sonra şunları söylüyorlar:

XDG_RUNTIME_DIR = / çalıştırma / kullanıcı / 1001

not: ubuntu altındaki kullanıcı için sorun yok, root daha fazlasına ihtiyaç var (terime göre son bilgi - 0700 izinleri ile)


0

Docker'da bu hatayı alıyorsanız; bu benim işim

# sudo xhost +
access control disabled, clients can connect from any host
# export DISPLAY=:0.0
# docker run -it --env DISPLAY=unix$DISPLAY --privileged  --volume /tmp/.X11-unix:/tmp/.X11-unix .. rest of your Docker arugments
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.