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  2016-07-08 19:29:04

  seler - Użytkownik

seler
Użytkownik
Zarejestrowany: 2012-05-15

Wyświetlenie aktywnych graficznych wirtualnych konsoli

O co chodzi:
Chciałbym jakimś sposobem wyświetlić wszystkie aktywne wirtualne konsole (czyli to co przełączamy kombinacją CTRL+ALT+F1...F8), w których odpalony jest jakiś graficzny program. Jest niby polecenie fgconsole, ale ono wyświetla tylko aktualną wirtualną konsolę.
Po co?
Chciałem napisać skrypt, który korzystając z polecenia chvt będzie się na zmianę przełączał pomiędzy tymi wirtualnymi konsolami w tę i nazad. Wtedy podepnę go tak, żeby przełączało się jednym klawiszem. Do tego potrzebuję jednak numerków wirtualnych konsol z odpalonym środowiskiem graficznym. Wiadomo, że na pewno jeden z tych numerków to 7, ale drugiego nie do końca można być pewnym.


a to feler westchnął seler

Offline

 

#2  2016-07-09 08:38:00

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

Re: Wyświetlenie aktywnych graficznych wirtualnych konsoli

Nie bardzo mogę pomóc, więc masz na pocieszenie http://i1.kwejk.pl/k/obrazki/2016/06/b6fe398662c837bfeab225f7cbf926df.jpg
:D
Co rozumiesz przez graficzny program pod konsolą?
No i nie wiem czy nie wynajdujesz zaś koła:
Większość klawiatur ma takie brzydkie guziki z obrazem otwartego okna (pewnie skrót do Wywietrz.exe). Naciskając lewy cofasz się o jeden tty, prawy tty w górę.
Jeśli dojedziesz jednak do aktywnej sesji Xów (tty7) to xserver przechwyci te klawisze i już nie pojedziesz dalej.
Podziel się pomysłem to może cos wyskrobiemy :)

Offline

 

#3  2016-07-09 10:58:02

  Zbooj - Dark Sith

Zbooj
Dark Sith
Skąd: Siedziba Wszelkiego Zła
Zarejestrowany: 2005-07-28

Re: Wyświetlenie aktywnych graficznych wirtualnych konsoli

Nie rozumiem dokładnie co chcesz wyświetlać.
Ale jeśli chcesz widzieć konsole tty1-tty7 to

Kod:

aptitude install conspy

[url=https://www.youtube.com/watch?v=rNg2Dh6gPkw]Nemo sailing home...[/url]

Offline

 

#4  2016-07-11 12:39:46

  seler - Użytkownik

seler
Użytkownik
Zarejestrowany: 2012-05-15

Re: Wyświetlenie aktywnych graficznych wirtualnych konsoli

Dzięki za zainteresowanie

[quote=lis6502]Co rozumiesz przez graficzny program pod konsolą?[/quote]
Rozumiem przez to program odpalany komendą np
xinit /sciezka/do/programu/graficznego — :6
W moim przypadku jest to np. gra odpalana na pełnym ekranie, ale można odpalić np xclock

[quote=Zbooj]Nie rozumiem dokładnie co chcesz wyświetlać.[/quote]
Chcę wyświetlić (dorwać się jakąś komendą) TEKSTOWO listę numerów konsol, na których odpalona jest jakaś graficzna aplikacja. Czyli, jeśli przyciskając CTRL+ALT+F2 wyświetli mi się np. gra, oraz po naciśnięciu CTR+ALT+F7 wyświetli mi się moje środowisko graficzne, to chciałbym żeby ta lista zawierała wyłącznie numery 2 i 7 (czyli nie numery konsol do których zalogowany byłbym w trybie tekstowym).
Czy takie coś jest możliwe?


a to feler westchnął seler

Offline

 

#5  2016-07-11 14:46:25

  Zbooj - Dark Sith

Zbooj
Dark Sith
Skąd: Siedziba Wszelkiego Zła
Zarejestrowany: 2005-07-28

Re: Wyświetlenie aktywnych graficznych wirtualnych konsoli

[url]http://unix.stackexchange.com/questions/117083/how-to-get-the-list-of-all-active-x-sessions-and-owners-of-them[/url]

A tak się nie da?

Kod:

w -h | grep -v bash | awk '{print $2}'

[url=https://www.youtube.com/watch?v=rNg2Dh6gPkw]Nemo sailing home...[/url]

Offline

 

#6  2016-07-11 21:44:13

  seler - Użytkownik

seler
Użytkownik
Zarejestrowany: 2012-05-15

Re: Wyświetlenie aktywnych graficznych wirtualnych konsoli

No nie, ponieważ nawet samo

Kod:

w -h

w linijce odpowiadającej mojemu środowisku graficznemu wypisze

Kod:

seler      :0       :0               11:48   ?xdm?  34:17   0.01s /bin/sh /etc/xdg/xfce4/xinitrc -- /etc/X11/xinit

Czyli druga kolumna to będzie :0, a przecież śr. graf. znajduje się na wirtualnej konsoli pod klawiszami CTRL+ALT+F[b]7[/b]
Poza tym nawet po uruchomieniu gry poleceniem [b]xinit /sciezka/do/gry[/b] nie pojawi się ona na wyjściu polecenia [b]w -h[/b]


a to feler westchnął seler

Offline

 

#7  2016-07-12 03:13:30

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Wyświetlenie aktywnych graficznych wirtualnych konsoli

po pierwsze zacznij uprzejmie używać jakiejś poludzkiej terminologii bo to co nazywasz "konsola" to się nazywa "desktop" albo "workspace", a to delikatna różnica.

Po drugie z czystej ciekawości spróbowałem czy to się da zrobić i wyszło mi coś takiego:

Kod:

#!/bin/bash

#tu podaj ilość wirtualnych desktopów
count=6
(for wid in $(xprop -root|grep ^_NET_CLIENT_LIST\( | cut -d '#' -f 2 | tr ',' ' '); do 
        xprop -id $wid 
done) | awk -v n=$count '/DESKTOP\(CARDINAL/ {if ($3 < n) a[$3] = 1} END {for (i in a) print i}'

Na pewno można prościej...


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.010 seconds, 9 queries executed ]

Informacje debugowania

Time (s) Query
0.00012 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00126 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.137.181.52' WHERE u.id=1
0.00077 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.137.181.52', 1714387757)
0.00063 SELECT * FROM punbb_online WHERE logged<1714387457
0.00077 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=28768 AND t.moved_to IS NULL
0.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00235 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=28768 ORDER BY p.id LIMIT 0,25
0.00107 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28768
Total query time: 0.00706 s