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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
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.
Offline
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
Nie rozumiem dokładnie co chcesz wyświetlać.
Ale jeśli chcesz widzieć konsole tty1-tty7 to
aptitude install conspy
Offline
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?
Offline
[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?
w -h | grep -v bash | awk '{print $2}'
Offline
No nie, ponieważ nawet samo
w -h
w linijce odpowiadającej mojemu środowisku graficznemu wypisze
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]
Offline
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:
#!/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...
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00019 | SET CHARSET latin2 |
0.00008 | SET NAMES latin2 |
0.00170 | 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='18.117.107.78' WHERE u.id=1 |
0.00085 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.117.107.78', 1733300394) |
0.00085 | SELECT * FROM punbb_online WHERE logged<1733300094 |
0.00083 | 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.00008 | SELECT search_for, replace_with FROM punbb_censoring |
0.00229 | 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.00191 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28768 |
Total query time: 0.00878 s |