Làm cách nào để khởi động lại màn hình bị đóng băng trong Ubuntu mà không mất bất kỳ cửa sổ đang mở nào?


12

Tôi đã có một thiết bị chạy Ubuntu 12.04 LTS bị đóng băng màn hình. Nói chung, tôi chỉ đơn giản là nhảy vào một tty có sẵn, tức là Ctrl- Alt- F1và thực hiện lệnh /etc/init.d/lightdm restarthoặc service lightdm restart. Điều này tuy nhiên giết chết mọi thứ tôi đã mở. Làm thế nào để tôi tránh điều này?


1
Bạn không thể đạt được điều này. Đó là lightdm hiển thị / quản lý các cửa sổ trong hệ thống x.
Apple II

Điều này cũng sẽ giết bất cứ thứ gì bạn mở, nhưng một khi ctrl-alt-backspace sẽ khởi động lại X. Điều đó dễ hơn là chuyển sang TTY, đăng nhập và yêu cầu X tự khởi động lại. Tôi không chắc chắn nếu nó vẫn hoạt động mặc dù.

@Doumund B. Staple - Nó không hoạt động với Ubuntu 12.04 LTS. Không chắc chắn liệu nó vẫn hoạt động với các bản phân phối khác hay liệu điều này là dành riêng cho Unity.
PeanutsMonkey 23/03/13

Có thể có một số cách để thay thế trình quản lý cửa sổ trong khi chạy. (Ít nhất là có thể với Gnome-Shell hoặc với trình quản lý cửa sổ i3 để có thể có một số cách).
FSMaxB

@FSMaxB - Bạn có thể giải thích rõ hơn về cách có thể đạt được điều này bằng cách sử dụng Trình quản lý cửa sổ Gnome-Shell hoặc i3 không?
PeanutsMonkey

Câu trả lời:


12

TUYÊN BỐ TỪ CHỐI: Theo nhận xét của Brenden, điều này có thể đã lỗi thời và không còn hoạt động với các phiên bản Ubuntu mới hơn. Ngoài ra, hãy chuẩn bị rằng bạn có thể mất các cửa sổ đang mở.

Bây giờ tôi đã nhận được nó cho Unity (Tôi chỉ thay thế vỏ Gnome của mình bằng unity mà không đăng xuất hoặc đóng cửa sổ):

  1. Chuyển đến tty1 [Ctrl] + [Alt] + [F1]
  2. Nhập vào DISPLAY=:0để các chương trình biết cổng nào cần tìm X-Server
  3. export DISPLAY
  4. unity --replacehoặc gnome-shell --replace(bạn cũng có thể thay thế Gnome-Shell bằng unity hoặc Unity bằng Gnome-Shell)

Điều này chỉ hoạt động nếu không phải X-Server hoặc Gnome bị đóng băng mà chỉ có Unity hoặc Gnome-Shell.

Cách thức hoạt động: Giao tiếp giữa các chương trình và X-Server để hiển thị UI của họ đang hoạt động trên một ổ cắm mạng. Điều này thường ở "localhost: 0" ngắn ": 0". Bằng cách đặt biến HIỂN THỊ, các chương trình sẽ biết nơi tìm X-Server để liên lạc với nó, vì vậy các chương trình được hiển thị trên X-Server trên tty7 ngay cả khi chương trình đang chạy trên tty1.

Nội dung của các cửa sổ được quản lý bởi X-Server trong khi vị trí và đường viền của các cửa sổ được quản lý bởi trình quản lý cửa sổ được tích hợp trong unity hoặc GNOM-shell, do đó, có một cách để chỉ thay thế chúng mà không khởi động lại các ứng dụng trên X- Người phục vụ.

Tái bút: Tôi chỉ mô tả những gì tôi hiểu nó là gì, vì vậy vui lòng chỉnh sửa và sửa lỗi cho tôi nếu tôi sai ở một số điểm.

BIÊN TẬP: Đối với Gnome-Shell, có một cách khác để khởi động lại nó. Sau khi đổi thành tty chỉ cần nhập pkill -HUP gnome-shell, tôi không biết liệu có gì tương tự với Unity không.


Điều đó đã làm việc như một phép lạ. Trong thực tế, nó đã cứu tôi ngày hôm nay. Cám ơn rất nhiều. Tôi sẽ rất biết ơn nếu bạn có thể giải thích những gì từng bước thực hiện bước 1. Tôi không hiểu những gì đang xảy ra dưới mui xe.
PeanutsMonkey

Cảm ơn về câu trả lời! Lưu ý unity --help nói: "--replace Run unity /! \ Đây là để tương thích với các giao diện máy tính để bàn khác và hoạt động giống như chạy unity mà không --replace"
Tom

Ngoài ra tôi thấy tôi phải chạy unity qua sudo để lưu các cửa sổ của mình.
Tom

2
--replace không được dùng nữa và không có gì và giải pháp này sẽ khởi động lại phiên của bạn nghĩa là bạn mất tất cả các cửa sổ của mình :(
Brenden

Vẫn hoạt động vào năm 2018
user000001
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.