Jak mogę wykryć, kiedy monitor zewnętrzny jest podłączony w systemie Linux?
Muszę uruchomić różne skrypty, aby skonfigurować mój obszar roboczy.
Czy istnieje jakiś sprytny sposób na rozpoczęcie skryptu, gdy zmieni się stan monitora?
Używam sterownika ekranu Nvidia.
xrandr
co kilka sekund, i uruchamia skrypt (y), jeśli zauważy różnicę.Odpowiedzi:
Istnieje zestaw narzędzi o nazwie read-edid, które mogą analizować rozszerzone dane identyfikacyjne wyświetlacza (EDID). Jeśli Twój zewnętrzny monitor zostanie faktycznie wykryty przez te narzędzia, możesz okresowo sprawdzać wykrycie i używać danych wyjściowych do uruchamiania skryptów itp.
Nie wspomniałeś jednak, czy musisz to zrobić niezależnie od tego, czy X był uruchomiony.
źródło
Szukałem tej samej odpowiedzi: /
Używam dispera ( http://willem.engen.nl/projects/disper ) i gconftool, aby włączyć / wyłączyć mój drugi monitor wraz z drugim panelem gnome.
disper -l wyświetla listę wszystkich podłączonych monitorów, więc możesz sondować to w ostateczności.
źródło
Powinieneś używać
udev
zdarzeń ... możliwa reguła może wyglądać następująco:(Źródło https://bbs.archlinux.org/viewtopic.php?pid=1329375#p1329375 )
źródło
Biorąc pod uwagę, że od 270.18, sterowniki binarne nVidia nadal nie wydają się implementować nowoczesnego XRandR, być może będziesz musiał skorzystać z sugestii new123456, aby sondować narzędzie takie jak
xrandr
zmiany wielkości ekranu.W moim systemie nie udało mi się jeszcze znaleźć sposobu, aby nVidia prawidłowo ogłosiła,
xrandr
że mam dwa monitory 1280x1024, a nie jeden 2560x1024 ... co, jak można się domyślić, sprawia, że gry pełnoekranowe są wyświetlane na obu monitorach, gdy zabraniam im od zmiany rozdzielczości. (To psuje moje lepkie pulpity)źródło