Cara mengganti monitor secara otomatis dengan laptop dock saya
11
Saya memiliki Dell Precision M4300 dengan Dell Dock PRO1X yang menjalankan Ubuntu Natty.
Ketika saya memiliki laptop terpasang layar lcd mati dan saya menggunakan dua monitor eksternal namun ketika saya melepas laptop itu tidak beralih ke layar laptop. Hal yang sama terjadi ketika saya memasang laptop, itu tidak beralih ke monitor eksternal.
Jika saya me-reboot laptop itu akan memilih setup yang benar tetapi tidak akan secara otomatis mengubah monitor dengan Ubuntu berjalan
Saya akhirnya telah mengumpulkan pengaturan skrip lengkap yang akan mendeteksi status dok saya dan mengganti monitor secara otomatis.
Hal pertama yang saya lakukan adalah menyingkirkan Xorg.conf saya karena menyebabkan lebih banyak masalah yang diselesaikan. Karena saya menggunakan kartu nvdia saya akhirnya menemukan bahwa menggunakan Disper adalah cara terbaik untuk pergi. Saya telah mendiskonnya sebelumnya karena perintah standarnya tidak dapat mencapai pengaturan dualview saya, tetapi kemudian saya menemukan saya dapat membuat metamode khusus untuk digunakan dengan disper.
Untuk membuat metamode khusus saya menggunakan nilai yang disimpan di Xorg.conf bersama dengan pengujian sebelumnya dengan nv-control-dpy dan xrandr sebagai panduan. Metamode ini dan nilai-nilai twinview lainnya ditambahkan ke file yang dapat diteruskan ke disper melalui stdin .
Karena memiliki monitor berukuran berbeda dengan Twinview, saya perlu menggunakan XCreateMouseVoid , seperti yang dijelaskan dalam pertanyaan ini .
Di bawah ini adalah uraian lengkap skrip dan file dengan isinya.
#!/bin/bash
# Export the dbus session address on startup so it can be used by any other environment
sleep 5
touch $HOME/.Xdbus
chmod 600 $HOME/.Xdbus
env | grep DBUS_SESSION_BUS_ADDRESS > $HOME/.Xdbus
echo 'export DBUS_SESSION_BUS_ADDRESS' >> $HOME/.Xdbus
# Export XAUTHORITY value on startup so it can be used by cron
env | grep XAUTHORITY >> $HOME/.Xdbus
echo 'export XAUTHORITY' >> $HOME/.Xdbus
Setel hanya untuk pengguna yang dapat dieksekusi: chmod 700 ~/.export_x_info
Kemudian letakkan di Aplikasi Startup:
Name: X Environment Variables
Command: /home/your_user/.export_x_info
Kecuali Anda me-restart Anda perlu menjalankan ~ / .export_x_info untuk membuat file .Xdbus
Buat aturan udev yang akan dijalankan pada saat acara dok:
#!/bin/sh
# wait for the dock state to change
sleep 0.5
DOCKED=$(cat /sys/devices/platform/dock.0/docked)
case "$DOCKED" in
"0")
echo "Run UnDocking Script..."
/usr/local/sbin/undock
;;
"1")
echo "Run Docking Script..."
/usr/local/sbin/dock
;;
esac
exit 0
chmod +x /usr/local/sbin/dell-dock
Buat skrip undock (ubah your_user agar sesuai dengan nama pengguna Anda):
$ cat /sys/devices/platform/dock.0/docked cat: /sys/devices/platform/dock.0/docked: No such file or directory
Anda dapat menggunakan autorandr .
Lihat juga:
sumber