Câu hỏi Làm thế nào để bắt đầu một chương trình GUI sau khi ngủ đông?


Tôi thích máy tính để bàn ảo. Tôi giữ khoảng nửa tá xung quanh, với mọi chương trình tôi thường xuyên sử dụng luôn sẵn sàng. Điều này có nghĩa là tôi kinh sợ khởi động lại máy tính của tôi, vì tôi phải thiết lập mọi thứ một lần nữa — đặc biệt kể từ khi KDE phá vỡ phiên quản lý với Plasma 5 (tôi đang chạy Kubuntu 15.10, Wily).

Do đó, tôi cũng yêu ngủ đông. Nhưng có một ít phiền toái: nếu tôi hibernate Chrome hoặc Firefox, họ mất 20-30 phút để rã đông trong lần tiếp theo, tôi khởi động máy tính của mình, tất cả trong khi đang rà soát hệ thống với đĩa nặng đọc, làm cho nó không sử dụng được. Tại sao? Dunno. Xảy ra cho nhiều người, một số đã xoay sở để giải quyết nó, tôi đã không làm vậy.

Vì vậy, như một công việc xung quanh tôi phải đóng trình duyệt trước khi ngủ đông, và chạy nó bằng tay thời gian tới. Tuy nhiên, lười biếng như tôi đã quyết định để máy làm điều đó cho tôi, nhưng bắt đầu một chương trình GUI từ các kịch bản ngủ của systemd đang chứng minh khó khăn.

Giết Chrome một cách duyên dáng thật dễ dàng:

pkill --oldest chromium-browser;

như là bắt đầu từ một thiết bị đầu cuối gốc:

su -l chema -c chromium-browser

(với một bản ghi nhỏ: nếu tôi thử điều này với một chương trình KDE, như kate, nó xuất hiện với một số skin mặc định, thay vì chủ đề thực tế tôi đang sử dụng)

Nhưng tôi đã không xoay xở để thực hiện công việc cuối cùng này trong lúc thức dậy thực sự. Đây là tập lệnh thử nghiệm, sử dụng chế độ ngủ thay vì ngủ đông và kate thay vì Chrome, để kiểm tra nhanh hơn:

#!/bin/sh
# Closes Chrome during hibernation to prevent crazy disk reads on thaw
# Systemd version, copy to /lib/systemd/system-sleep/ and chmod +x

if [ $1 = pre ] && [ $2 = suspend ]; then
    killall kate;
fi

if [ $1 = post ] && [ $2 = suspend ]; then
    echo "Running kate."
    su -l chema -c "DISPLAY=:0.0 kate" & 2>>/tmp/wake-log
fi

Kate bị giết trong giấc ngủ, nhưng không bao giờ bắt đầu thức dậy, mặc dù "Chạy kate." xuất hiện trên syslog.

Tôi cũng đã thử runuser -l chema -c kate, nhưng điều đó luôn thất bại QXcbConnection: Không thể kết nối với display / Abort (core dumped), ngay cả sau khi xhost local:.

Bất kỳ ý tưởng?


2
2018-01-08 20:54


gốc


Nhận ổ SSD - các lần đánh thức cho Chrome và FF sẽ là "SSeamleSSD";) - cat
Haha, chỉ có một, như một vấn đề của thực tế. Chỉ cần chờ đợi trên khay bộ chuyển đổi để đến (từ Trung Quốc, nhớ bạn) để thay thế đĩa DVD với nó. Nhưng ở tốc độ 500MBps, tôi chỉ tăng gấp đôi tốc độ đọc, vì vậy tôi không mong đợi nó sẽ giải quyết những tai họa tan rã của tôi. 10 phút vẫn là một cất cánh rất dài. - Chema


Các câu trả lời: