Açık pencereleri kaybetmeden Ubuntu'da donmuş bir ekranı nasıl yeniden başlatırım?


12

Ubuntu çalıştıran bir cihazım vardı 12.04 LTS'nin ekranı donuyor. Genellikle basitçe kullanılabilir bir tty'ye atladım, yani Ctrl- Alt- F1ve /etc/init.d/lightdm restartveya komutunu yerine getirdim service lightdm restart. Ancak bu, sahip olduğum her şeyi öldürüyor. Bundan nasıl kaçınırım?


1
Bunu başaramazsınız. X sisteminde pencereleri görüntüleyen / yöneten lightdm'dir.
Apple II

Bu, açık olan her şeyi de öldürür, ancak bir zamanlar ctrl-alt-backspace X'i yeniden başlatır. Bu, bir TTY'ye geçmek, giriş yapmak ve X'ten kendini yeniden başlatmasını istemekten daha kolaydır. Yine de çalışıp çalışmadığından emin değilim.

@Douglas B. Staple - Ubuntu 12.04 LTS ile çalışmaz. Hala diğer dağıtımlarla çalışıp çalışmadığından veya bunun Unity'ye özgü olup olmadığından emin değilim.
23:13

Çalışırken pencere yöneticisini değiştirmenin bir yolu olabilir. (En azından GNOME-Shell veya i3 pencere yöneticisi ile mümkündür, böylece bir şekilde olabilir).
FSMaxB

@FSMaxB - Bunun Gnome-Shell veya i3 Window Manager kullanılarak nasıl başarılabileceğini açıklar mısınız?
PeanutsMonkey

Yanıtlar:


12

YASAL UYARI: Brenden'in yorumuna göre, bu eski olabilir ve artık Ubuntu'nun yeni sürümleriyle çalışmayabilir. Lütfen açık pencerelerinizi kaybedebileceğinize de hazırlıklı olun.

Şimdi Unity için aldım (sadece oturumu kapatmadan veya pencereleri kapatmadan GNOME kabuğumu birlikle değiştirdim):

  1. Tty1 [Ctrl] + [Alt] + [F1] 'e gidin
  2. Yazın DISPLAY=:0X-Sunucusu bulmak için hangi bağlantı noktasını programları biliyorum böylece
  3. export DISPLAY
  4. unity --replaceveya gnome-shell --replace(GNOME-Shell'i birlikle veya Unity'yi GNOME-Shell ile de değiştirebilirsiniz)

Bu yalnızca X-Server veya GNOME donmazsa, yalnızca Unity veya GNOME-Shell ise çalışır.

Nasıl çalışır: UI'larını görüntülemek için programlar ve X-Server arasındaki iletişim bir ağ soketi üzerinde çalışıyor. Bu normalde "localhost: 0" kısa ": 0" dır. DISPLAY değişkenini ayarlayarak, programlar onunla iletişim kurmak için X-Sunucusunu nerede bulacağını bilir, bu nedenle program tty1 üzerinde çalışıyor olsa bile programlar tty7'de X-Server'da görüntülenir.

Pencerelerin içeriği X-Server tarafından yönetilirken, pencerelerin konumu ve sınırları birlik veya GNOM kabuğuna entegre edilmiş pencere yöneticisi tarafından yönetilir, bu nedenle X- üzerindeki uygulamaları yeniden başlatmadan yalnızca bunları değiştirmenin bir yolu vardır. Sunucusu.

Not: Sadece ne olduğunu anladığımı açıklıyorum, bu yüzden lütfen bazı noktalarda yanılıyorsam beni düzenleyin ve düzeltin.

EDIT: GNOME-Shell için, yeniden başlatmanın başka bir yolu var. Tty'ye geçtikten sonra basitçe yazın pkill -HUP gnome-shell, Unity için benzer bir şey olup olmadığını bilmiyorum.


Bu bir mucize gibi çalıştı. Aslında bugün beni kurtardı. Çok teşekkürler. Adım 1'in her birinin adım 1'i ne yaptığını ayrıntılandırabilirseniz çok minnettar olurum. Davlumbazın altında neler olduğunu tam olarak anlamıyorum.
PeanutsMonkey

Cevap için teşekkürler! Unity --help diyor ki: "--replace Unity /! \ Bu, diğer masaüstü arabirimleriyle uyumluluk içindir ve --replace olmadan birlik çalıştırmakla aynı işlevi görür"
Tom

Ayrıca pencerelerimi kaydetmek için sudo üzerinden birlik çalıştırmak zorunda bulundu.
Tom

2
--replace kullanımdan kaldırıldı ve hiçbir şey yapmıyor ve bu çözüm oturumunuzu yeniden başlatacak, yani tüm pencerelerinizi kaybedeceksiniz :(
Brenden

Hala 2018'de çalışıyor
user000001
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.