Harici ekranım (yıldırım ile dizüstü bilgisayarıma bağlı), önyüklemeden önce bağlanırsa iyi çalışıyor. Bununla birlikte, herhangi bir yöntemle çıkarıldığında veya bağlantısı kesildiğinde, xrandr artık yeniden bağlanan monitörü algılamaz.
Ben koşuyorum Arch Linux
kullanarak, bumblebee
ekran kartı kullanımı için. Harici kart şimşek konektörü ile bağlanır. Birisi bana makinede neyin yanlış olduğunu ve hotplugging'i nasıl çalıştırabileceğimi söyleyebilir mi? Teşekkürler.
[Hata ayıklama ayrıntıları]
Birden konuları takip bumblebee
ve udevadm
ben birkaç test yaptım ve Hotplug senaryoyu yaptı. Ancak sorun hala çözülmedi. Sonuç aşağıdaki gibi gönderilir.
Bombus arısı için, çok fazla ayarlama yapmadım, çünkü ikinci monitör çalışırken takılmadığında iyi algılıyor.
Çalışırken takma ile ilgili sorun için. Aşağıdakileri yaptım:
Monitör normal çalışıyorsa, xrandr --query
geri döner
Screen 0: minimum 8 x 8, current 2944 x 1080, maximum 32767 x 32767
eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 382mm x 215mm
1920x1080 60.02*+
...
DP1 connected 1024x768+1920+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.00*
...
Monitörü DP2'den açıkken çıkarırken udevadm monitor --environment --udev
toplanan bilgiler:
UDEV [979.022342] change /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
ACTION=change
DEVNAME=/dev/dri/card0
DEVPATH=/devices/pci0000:00/0000:00:02.0/drm/card0
DEVTYPE=drm_minor
HOTPLUG=1
ID_FOR_SEAT=drm-pci-0000_00_02_0
ID_PATH=pci-0000:00:02.0
ID_PATH_TAG=pci-0000_00_02_0
MAJOR=226
MINOR=0
SEQNUM=2650
SUBSYSTEM=drm
TAGS=:master-of-seat:uaccess:seat:
USEC_INITIALIZED=3775241
Monitörü takarken:
UDEV [1111.426386] change /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
ACTION=change
DEVNAME=/dev/dri/card0
DEVPATH=/devices/pci0000:00/0000:00:02.0/drm/card0
DEVTYPE=drm_minor
HOTPLUG=1
ID_FOR_SEAT=drm-pci-0000_00_02_0
ID_PATH=pci-0000:00:02.0
ID_PATH_TAG=pci-0000_00_02_0
MAJOR=226
MINOR=0
SEQNUM=2651
SUBSYSTEM=drm
TAGS=:seat:uaccess:master-of-seat:
USEC_INITIALIZED=3775241
UDEV [1111.522857] change /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
ACTION=change
DEVNAME=/dev/dri/card0
DEVPATH=/devices/pci0000:00/0000:00:02.0/drm/card0
DEVTYPE=drm_minor
HOTPLUG=1
ID_FOR_SEAT=drm-pci-0000_00_02_0
ID_PATH=pci-0000:00:02.0
ID_PATH_TAG=pci-0000_00_02_0
MAJOR=226
MINOR=0
SEQNUM=2652
SUBSYSTEM=drm
TAGS=:seat:uaccess:master-of-seat:
USEC_INITIALIZED=3775241
udev
Monitör takılıyken donanımı algılayabiliyor gibi görünüyor , bu yüzden xrandr
yeni monitörü kullanmanıza yardımcı olmak için bir udev kuralı oluşturdum . İçin betiğim /etc/udev/rules.d/95-monitor-hotplug.rules
şöyledir:
ACTION=="change", SUBSYSTEM=="drm", RUN+="/usr/local/bin/hotplug_monitor.sh"
ve /usr/local/bin/hotplug_monitor.sh
olduğu
#!/bin/sh
export XAUTHORITY=/home/chong/.Xauthority
function connectDP1(){
DISPLAY=:0 xrandr --output DP1 --auto --right-of eDP1
}
function disconnectDP1(){
DISPLAY=:0 xrandr --output DP1 --off
}
function connectDP2(){
DISPLAY=:0 xrandr --output DP2 --auto --right-of eDP1
}
function disconnectDP2(){
DISPLAY=:0 xrandr --output DP2 --off
}
xrandr | grep "DP1 connected" &> /dev/null && connectDP1 || disconnectDP1
xrandr | grep "DP2 connected" &> /dev/null && connectDP2 || disconnectDP2
Betik normal olarak çalışır ve kapanır, ancak daha sonra xrandr --query
yine de gösterilir DP1
ve DP2
bağlantısı kesilir.