Chỉnh sửa câu trả lời của tôi để làm cho nó đơn giản hơn để thiết lập.
Cài đặt autorandr để tự động hóa bố cục màn hình trong xrandr, lấy .deb mới nhất từ https://github.com/nalipaz/autorandr/release và chạy:
dpkg -i [file]
Thiết lập autorandr với bố cục màn hình được lưu trữ
autorandr --save [docked|mobile|home|etc]
Ví dụ, trên máy tính xách tay của tôi không có bất kỳ màn hình nào được cắm vào, tôi thiết lập arandr theo cách tôi muốn, sau đó chạy:
autorandr --save mobile
Sau đó cắm hdmi của tôi và cấu hình lại arandr, sau đó chạy:
autorandr --save docked
Sau khi thiết lập từng bố cục của bạn, bạn có thể chạy (thay thế 'điện thoại di động' bằng tên ưa thích trước đó, tôi đã sử dụng điện thoại di động):
autorandr --default mobile
Bây giờ autorandr là tất cả các thiết lập, bạn có thể tự động hóa quy trình bằng cách cài đặt gói sẽ thăm dò các màn hình được kết nối và chạy autorandr --change
khi phát hiện. Vâng, tôi biết về udev và bạn có thể thiết lập nó nếu nó hoạt động cho bạn, nhưng trong thử nghiệm của tôi, udev không hoạt động cho hdmi của tôi một cách nhất quán. Nó chỉ hoạt động 1 trong số 20 phích cắm / phích cắm hoặc hơn thế, và đôi khi nó chỉ dừng lại hoàn toàn.
Tải xuống .deb mới nhất từ đây: https://github.com/nalipaz/poll-xrandr/release/ sau đó cài đặt với
dpkg -i [file]
Rất có thể bạn cần chạy nhiều tác vụ hơn sau khi hoàn thành autorandr --change
, autorandr cho phép các lệnh này được chèn vào một tệp có tên ~ / .autorandr / postswitch. Làm như sau:
cd ~/.autorandr/ && touch postswitch && chmod +x postswitch
Bây giờ chỉnh sửa tệp postswitch để có cái gì đó tương tự như sau:
#!/bin/bash
if pidof conky > /dev/null 2>&1; then
killall conky
fi
(sleep 2s && xrandr-adjust-brightness restore -q) &
(sleep 2s && nitrogen --restore) &
(sleep 3s && conky -q) &
Ngoài ra, bạn có thể muốn thêm autorandr và poll-xrandr vào phần khởi động của mình, giống như hai lệnh sau:
autorandr --change &
poll-xrandr &
Rút phích cắm hoặc cắm vào màn hình và xem phép thuật!
udevadm monitor --property
từ thiết bị đầu cuối và cắm màn hình vào. Với thẻ của tôi, tôi thấy một sự kiện khi nó được cắm. Bạn có thể sử dụng quy tắc + RUN trong udev và một số tập lệnh bash để có được những gì bạn muốn. Tuy nhiên, tôi không chắc làm thế nào bạn có thể thực hiện điều này trên cơ sở cho mỗi người dùng bằng cách sử dụng udev.