Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2012-08-13 18:39:13

  wormux29 - Użytkownik

wormux29
Użytkownik
Zarejestrowany: 2012-08-03

Jak sprawdzić czy monitor jest włączony

Witam.

Na co dzień korzystam z laptopa i do jego wyjścia VGA mam podłączony zewnętrzny monitor. Do autostartu dołączyłem skrypt, który przełącza obraz na ekran zewnętrzny jeżeli jest on podłączony:

Kod:

#!/bin/bash

if [ "$(xrandr | grep VGA | grep "connected" | awk '{print $2}')" = "connected" ] ; then
    
        xrandr --output LVDS1 --off --output VGA1 --auto
    else
        xrandr --output VGA1 --off --output LVDS1 --auto
    fi

Problem jest wtedy, gdy przewód VGA jest podłączony do laptopa, a monitor zewnętrzny jest wyłączony. Program "xrandr" pomimo braku zasilania monitora pokazuje status "connected". W jaki sposób mogę sprawdzić czy monitor zewnętrzny jest włączony?

Z góry dziękuje za zainteresowanie.

Offline

 

#2  2012-08-13 19:14:03

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: Jak sprawdzić czy monitor jest włączony

Kod:

disper --list

Jest w repo testing/unstable, powinien odczytać jakie monitory są podłączone. Może trochę więcej: http://maketecheasier.com/change-linux-displays-on- … er/2010/12/22 i http://willem.engen.nl/projects/disper/

Offline

 

#3  2012-08-13 19:27:07

  wormux29 - Użytkownik

wormux29
Użytkownik
Zarejestrowany: 2012-08-03

Re: Jak sprawdzić czy monitor jest włączony

Sytuacja jest taka sama jak przy użyciu xrandr. Polecenie zwraca dwie wartości:

Kod:

wormux29@asus-1215N:~$ disper --list
display LVDS1: LVDS1
 resolutions: 640x480, 800x600, 1024x768, 1360x768, 1366x768
display VGA1: VGA1
 resolutions: 720x400, 640x480, 800x600, 1024x768, 1152x864, 1280x1024, 1680x1050, 1920x1080

Wtyczka VGA jest podłączona do laptopa, ale monitor zewnętrzny jest wyłączony. Problem pozostaje nierozwiązany.

Offline

 

#4  2012-08-13 19:46:18

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: Jak sprawdzić czy monitor jest włączony

A

Kod:

ddccontrol -p

, tez zapakietowany.

Offline

 

#5  2012-08-13 19:57:46

  wormux29 - Użytkownik

wormux29
Użytkownik
Zarejestrowany: 2012-08-03

Re: Jak sprawdzić czy monitor jest włączony

Nniestety też nie działa. Zwraca komunikat "Wykryte monitory: Brak monitorów obsługujących DDC/CI."

Offline

 

#6  2012-08-13 21:11:52

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: Jak sprawdzić czy monitor jest włączony

Jeszcze miałem pomysł z odczytaniem EDID, przy pomocy get-edid, ale u mnie pobiera, nawet jak wyłączę monitor...

Offline

 

#7  2012-08-13 21:32:11

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Jak sprawdzić czy monitor jest włączony

A ten monitor nie ma czasem diody, która świeci na zielono jak ma połączenie,  albo pomarańczowo, jak nie ma? :D

Ostatnio edytowany przez Jacekalex (2012-08-13 23:12:49)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#8  2012-08-13 21:55:38

  wormux29 - Użytkownik

wormux29
Użytkownik
Zarejestrowany: 2012-08-03

Re: Jak sprawdzić czy monitor jest włączony

A ten monitor nie ma czasem diody, która świeci na zielono jak ma połączenie,
albo pomarańczowo, jak nie ma? :D

... pewnie, że ma! Chodzi o zabezpieczenie działania skryptu przed wyżej wymienionym problemem.

Offline

 

#9  2012-08-13 23:29:40

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Jak sprawdzić czy monitor jest włączony

@wormux29

Czy twoim zdaniem nie zależy to przypadkiem od sterownika grafiki, jaki używasz?

Tu masz przykład z Intelem:
http://stackoverflow.com/questions/5469828/how-to-c … ntel-graphics

Jeśli natomiast interesuje Cię tylko i wyłącznie xrandr, to u mnie ładnie to działa w takiej postaci:

Kod:

xrandr -q | egrep 'DVI-I-0 connected' 2>&1  >>/dev/null && echo "podłączony" || echo "odłączony"

Nie miałem jednak okazji sprawdzić, jak reaguje na odłączenie monitora,
z powodu posiadania jednego monitora ;)

Ostatnio edytowany przez Jacekalex (2012-08-13 23:39:27)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#10  2012-08-14 15:12:26

  wormux29 - Użytkownik

wormux29
Użytkownik
Zarejestrowany: 2012-08-03

Re: Jak sprawdzić czy monitor jest włączony

Witam.

Dziękuje za link.

Kod:

xrandr -q | egrep 'VGA1 connected' 2>&1  >>/dev/null && echo "podłączony" || echo "odłączony"

Polecenie nie odróżnia czy zasilanie monitora jest włączone czy nie.

Odnośnie tego co napisano w powyższym linku to zwracane są następujące wartości:

Polecenie: cat /sys/class/drm/card0-VGA-1/enabled

Podłączona wtyczka VGA, zasilanie monitora (włączone)  - disabled
Podłączona wtyczka VGA, zasilanie monitora (wyłączone) - disabled

Po przełączeniu poleceniem xrandr --output VGA1 --auto , zwracane są wartości:

Podłączona wtyczka VGA, zasilanie monitora (włączone)  - enable
Podłączona wtyczka VGA, zasilanie monitora (wyłączone) - enable

cat /sys/class/drm/card0-VGA-1/status
zawsze zwraca "connected"

Problem nadal pozostaje nierozwiązany, bo nie można wykryć kiedy monitor ma włączone zasilanie, a kiedy nie ma...

Polecenie "udevadm monitor --property" reaguje tylko na podłączenie wtyczki, wł. lub wył. monitora nic nie zmienia.

Pozdrawiam serdecznie
Dziękuje za zainteresowanie tematem

Offline

 

#11  2012-08-14 17:19:47

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Jak sprawdzić czy monitor jest włączony

I ten kłopot wynika raczej z działania sterownika, na którym chodzi karta graficzna.
Także od sterownika radziłbym zacząć wszystkie kombinacje.
Prawdopodobnie monitor też nie jest bez winy.

Ostatnio edytowany przez Jacekalex (2012-08-14 17:33:51)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#12  2012-08-15 14:16:50

  wormux29 - Użytkownik

wormux29
Użytkownik
Zarejestrowany: 2012-08-03

Re: Jak sprawdzić czy monitor jest włączony

Monitor jest sprawny. Ze sterownikami też musi być wszystko dobrze - nic nie zmieniałam.

Offline

 

#13  2012-08-15 16:15:47

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Jak sprawdzić czy monitor jest włączony

wormux29 napisał(-a):

Monitor jest sprawny. Ze sterownikami też musi być wszystko dobrze - nic nie zmieniałam.

Nie musi być dobrze.
To, ze wszystko działa, nie znaczy, ze sterownik spełnia wszystkie standardy zgodności z Linuxem, iże można coś z niego wyciągnąć przez interfejs w /sys, bądź oprogramowanie Linuxowe będzie mogło sprawdzać wszystkie jego parametry.

U mnie:

Kod:

cat /sys/class/drm/*/status 
cat: /sys/class/drm/*/status: Nie ma takiego pliku ani katalogu

Kod:

ls -l /sys/class/drm
razem 0
-r--r--r-- 1 root root 4096 08-15 16:06 version

A jaką mam kartę i sterownik?
Nvidię - działa elegancko, obecnie mam sterownik 304.37.

I Xrandr na niej widzi, na którym porcie jest coś podłączone, a na którym nie jest,
a w /sys na ten temat ani śladu.
Za to z całą pewnością można to sprawdzić przez interfejs /dev/nvidiactl - lub poleceniem nvidia-settings cośtam, które wyświetli podłączone monitory.
Bo nvidia-settings bez problemu widzi, jaki monitor jest podłączony i gdzie.

Także co sterownik, to obyczaj, a to, że karta działa prawidłowo, wcale nie oznacza, że ma API dokładnie takie same, jak karty innych producentów, i nie oznacza, że Linux obsługuje wszystkie karty jednakowo.

Pozdrawiam
;-)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#14  2012-08-15 16:23:30

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: Jak sprawdzić czy monitor jest włączony

Jacekalex: autorce chodzi o sprawdzenie czy podłączony monitor jest aktualnie włączony czy wyłączony (prawdopodobnie za pomocą przycisku na obudowie), a nie czy w ogóle jest podłączony (z tym nie ma problemu). U Ciebie da się to sprawdzić?

Offline

 

#15  2012-08-15 16:45:29

  wormux29 - Użytkownik

wormux29
Użytkownik
Zarejestrowany: 2012-08-03

Re: Jak sprawdzić czy monitor jest włączony

Kod:

autorce

Autorowi :)

Wszystko dokładnie opisałem w poście: #10. Jeszcze raz dla jasności. Xrandr oraz inne programy wykrywają, że monitor zewnętrzny jest podłączony i możliwe jest sterowanie nimi - np. przełączanie się między ekranami. Rzecz, którą chcę sprawdzić programowo to czy monitor zewnętrzny jest włączony (czy jest zasilany). Karta Graficzna to GMA 3150.

Offline

 

#16  2012-08-15 16:50:13

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: Jak sprawdzić czy monitor jest włączony

wormux29 napisał(-a):

Autorowi :)

:-D


Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Polski portal Debiana

Offline

 

#17  2012-08-15 16:57:22

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: Jak sprawdzić czy monitor jest włączony

Oj, sorry. ;) Zasugerowałem się postem 12:

wormux29 napisał(-a):

nic nie zmieniałam

:)

Offline

 

#18  2012-08-15 18:14:05

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Jak sprawdzić czy monitor jest włączony

Karta Graficzna to GMA 3150

.

Nareszcie, jeśli wiadomo, że to Intel GMA - to przynajmniej wiadomo, czego szukać.
Bo niestety, co sterownik, to obyczaj :D

@Arni
Ja mam dekstopa i jeden monitor, więc widzę organoleptycznie, czy jest włączony.
Ale wygląda na to, że Xrandr radzi sobie z faktem włączenia monitora, bo zawsze pokazywał prawidłowo czy cos jest na tym czy tamtym porcie.

A kiedyś, jeszcze na Necu podpiąłem kablami VGA i DVI równocześnie monitor, (miel przełącznik wejść), i Nvidia-settings też rozpoznawała monitor tylko wtedy, gdy był włączony na porcie, przez który szedł sygnał.
Wnoszę więc, że jakoś dowiadywała się, który port jest włączony, a który tylko podłączony.

Edyta:
U mnie Xrandr też nie rozpoznaje, kiedy włączony, a kiedy tylko podłączony

Kod:

 ~> cat XRANDR
#Monitor włączony
DVI-I-0 connected 1024x768+0+0 (normal left inverted right x axis y axis) 315mm x 230mm

# Monitor wyłączony
DVI-I-0 connected 1024x768+0+0 (normal left inverted right x axis y axis) 315mm x 230mm

Także przy Nvidii Xrandr też nie rozpoznaje, kiedy monitor jest włączony, a nie tylko podłączony kablem, lub może do sprawdzenia potrzeba jakiejś innej funkcji.

Pozdrawiam
;-)

Ostatnio edytowany przez Jacekalex (2012-08-15 18:25:22)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)