Bagaimana saya bisa mengatur xfce secara otomatis untuk mengubah keluaran yang tersedia?

11

Dalam xfce, saya dapat menjalankan Pengaturan -> Tampilan untuk mengubah monitor keluaran pilihan saya. Apa yang saya belum menemukan opsi adalah memilikinya secara otomatis menyesuaikan dengan perubahan dalam output yang tersedia.

Misalnya, jika saya menggunakan layar DVI, tetapi lepaskan laptop saya, XFCE tidak akan secara otomatis menyadari bahwa saya tidak lagi memiliki layar yang berfungsi dan mengubah output. Gnome memang melakukan ini, meskipun saya tidak yakin melalui layanan apa. Saya ingin memiliki beberapa cara untuk memastikan saya selalu memiliki setidaknya satu output yang berfungsi secara otomatis.

CATATAN SISI: Ini terkait dengan pertanyaan saya yang lain, Jika saya hanya menggunakan window manager dan bukan lingkungan desktop, bagaimana cara saya mendapatkan pembaruan resolusi dock / undock otomatis? , tetapi untuk xfce, bukan window manager generik.

Ken Kinder
sumber
1
terbaik sejauh ini yang pernah saya lihat: unix.stackexchange.com/a/120945/14907
akostadinov
@akostadinov Jawaban harus menjadi jawaban. Saya akan pergi ke depan dan mengubahnya menjadi satu.
Aleksandr Dubinsky

Jawaban:

6
$ xrandr --auto

Dari halaman manual xrandr:

--auto : Untuk output yang terhubung tetapi dinonaktifkan, ini akan memungkinkan mereka menggunakan mode pilihan mereka (atau, sesuatu yang mendekati 96dpi jika mereka tidak memiliki mode pilihan). Untuk keluaran yang terputus tetapi diaktifkan, ini akan menonaktifkannya.

pl1nk
sumber
Ini berfungsi untuk saya setidaknya untuk pengaturan saya.
pl1nk
Tapi ini adalah perintah satu kali, bukan layanan, kan?
Aleksandr Dubinsky
0

Pertanyaan ini dijawab di Unix StackExchange: /unix/101809/how-can-i-automatically-update-my-monitor-layout-in-xfce/120945#120945 Namun, karena tidak mungkin untuk menandai pertanyaan ini sebagai duplikat dari pertanyaan di situs lain, saya hanya akan menyalin jawabannya di sini.


Salah satu caranya adalah dengan membuat aturan udev, tetapi karena saya menginginkan sesuatu yang lebih portabel, saya memiliki skrip bash ini. Itu bergantung pada dukungan menunggu inotify, tidak memiliki semacam loop dan dianggap efisien.

external-lcd.sh

#!/bin/sh
# inspired of:                                                                                            
#   http://unix.stackexchange.com/questions/4489/a-tool-for-automatically-applying-randr-configuration-   when-external-display-is-p                                                                                
#   http://ozlabs.org/~jk/docs/mergefb/                                                                   
#   http://superuser.com/questions/181517/how-to-execute-a-command-whenever-a-file-changes/181543#181543  

export MONITOR2=/sys/class/drm/card0-VGA-1/status                                                         

while inotifywait -e modify,create,delete,open,close,close_write,access $MONITOR2;                        

dmode="$(cat $MONITOR2)"                                                                                  

do                                                                                                        
    if [ "${dmode}" = disconnected ]; then                                                                
         /usr/bin/xrandr --auto                                                                           
         echo "${dmode}"                                                                                  
    elif [ "${dmode}" = connected ];then                                                                  
         /usr/bin/xrandr --output VGA1 --auto --right-of LVDS1                                            
         echo "${dmode}"                                                                                  
    else /usr/bin/xrandr --auto                                                                           
         echo "${dmode}"                                                                                  
    fi                                                                                                    
done 

Jangan lupa untuk membuat file tersebut dapat dieksekusi ( chmod +x external-lcd.sh). Kemudian mulai saja setiap kali Anda meluncurkan DE Anda.

Saya menggunakan ini di archlinux jadi saya pikir itu harus berfungsi. Anda dapat mengubah parameter xrandr atau menukar dengan menggunakan konfigurasi arandr.

Aleksandr Dubinsky
sumber
-1

Tidak ada pilihan seperti itu karena teknologi di balik deteksi peristiwa perangkat keras agnostik desktop ( udev) agak baru untuk proyek hobi seperti xfce.

Anda mungkin mendapatkan beberapa hasil bagus untuk digali D-Busdan udev. Lihat udev tidak menjalankan hapus acara sebagai permulaan.

aquaherd
sumber