Portál AbcLinuxu, 10. května 2025 09:18

Dotaz: Zamezení vypnutí aplikace uživatelem

18.12.2014 09:57 ikar
Zamezení vypnutí aplikace uživatelem
Přečteno: 549×
Odpovědět | Admin
Dobrý den,

je možné nějak omezit možnost zavření jedné aplikace běžnému uživateli? Systém Centos (asi verze 5 s Gnome 2). Jedná se o počítač, který ovládá speciální a velmi drahé zařízení. Střídají se na něm desítky uživatelů. Aplikace, která řídí ono zařízení je spuštěná oprávněným administrátorem a běží 24/7. Potřebuji zamezit tomu, aby ji její uživatel bez administrátorského práva, ať už omylem nebo z všetečnosti, nemohl zavřít (např. kliknutím na tlačítko X v GUI). Respawn aplikace situaci neřeší.

Na netu jsem našel návody jak zamezit zavření aplikací v GNOME, ovšem pouze těch několika, které to mají naprogramované přímo v sobě.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

18.12.2014 10:15 aaa
Rozbalit Rozbalit vše Re: Zamezení vypnutí aplikace uživatelem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Myslim si, ze jedina cesta je poustet tu aplikaci pres wraper chytajici signaly ze systemu a eventy z GUI a ignorujici ty nechtene.
18.12.2014 12:08 ikar
Rozbalit Rozbalit vše Re: Zamezení vypnutí aplikace uživatelem
Myslíte něco vmezeřeného mezi okenní manažér a aplikaci? Máte nějaký konkrétní příklad? Ono by možná stačilo, pokud by okenní manžér byl schopný zobrazovat/nezobrazovat "X" tlačítko v dekoraci okna a "Close" dole v panelu, pro vybranou aplikaci. Bohužel tuhle schopnost GNOME asi nemá, jeho vývojáři se IMHO snaží mířit na jednouživatelské použití a nasazení GNOME v profesionální víceuživatelské sféře je mimo jejich rozhled. Bohužel vyměnit DM za nějaký inteligentnější bude v tomto případě nemožné, neboť by vyvstal problém se zahraniční servisní firmou. Takže wrapper. Pomůže někdo?
18.12.2014 10:40 smartass
Rozbalit Rozbalit vše Re: Zamezení vypnutí aplikace uživatelem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mě napadá mít ten program spuštěný v nějaké desktop session a admin by při odchodu tuto svoji session uzamkl, ostatní uživatelé by si mohli spustit vlastní session na něm nezávislou. Pro líného admina lze zařídit automatické zamknutí session po krátké době. Prostředí GNOME 2 by IIRC něco takového umožňovat mělo.
18.12.2014 11:56 ikar
Rozbalit Rozbalit vše Re: Zamezení vypnutí aplikace uživatelem
Nerozumím. Když locknu session, jak se pak uživatelé dostanou k té běžící aplikaci? Uživatelé musí mít možnost ovládat zařízení prostřednictvím té aplikace, pouze nesmí mít právo aplikaci shodit. Pokud by se jednalo o nějakého "daemona s GUI", tak by to samozřejmě nebyl problém, to by šlo udělat navrženým způsobem.
18.12.2014 12:27 Roslav | skóre: 6 | blog: mamblog
Rozbalit Rozbalit vše Re: Zamezení vypnutí aplikace uživatelem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Potrebujete nieco, co dokaze spravovat tzv. Window rules. Vdaka tomu viete prinutit DE aby na urcitych oknach nastavilo nejake vlastnostiaj napr. ze sa nebudu dat zavriet. Compiz ma na toto plugin, ale su aj ine riesenia. Idem otestovat program devilspie2 a vyzistit ako funguje. Inspirovat sa mozete tu: ubuntuforums podobny problem
Hmmpf... Niečomu tak deterministickému ako počítače sa jednoducho nedá veriť.
18.12.2014 12:43 Radovan Garabík
Rozbalit Rozbalit vše Re: Zamezení vypnutí aplikace uživatelem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pustiť aplikáciu bez window managera, prípadne s niečím ako ratpoison (a nenakonfigurovať klávesovú skratku na zatvorenie okna).

Aby sa dala rozumne používať na desktope, pustiť ju vovnútri vnc session a (oprávnení) užívatelia sa iba pripoja k vnc serveru - bude sa to tváriť ako jedno okno, ale jeho zavretím sa zavrie iba vnc klient.
18.12.2014 13:03 R
Rozbalit Rozbalit vše Re: Zamezení vypnutí aplikace uživatelem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Trinity (aj stare KDE 3.5) umoznuje nastavit "window-specific settings", kde je okrem ineho aj moznost "no border", ktora odstrani hornu listu s nazvom okna a tym aj zatvaracie "X". Dalej je tam moznost "closeable", ktorou sa da vypnut funkcia "close" (aj na taskbare).

Ak vsak aplikacia obsahuje moznost ukoncenia napriklad v menu, to sa vyriesit neda.
stativ avatar 18.12.2014 19:44 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Zamezení vypnutí aplikace uživatelem
Nejenom Trinity (KDE 4 to má také).
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
pepe_ avatar 19.12.2014 19:30 pepe_ | skóre: 48
Rozbalit Rozbalit vše Re: Zamezení vypnutí aplikace uživatelem

V nastavení okna aplikace sice zakážeš funkčnost tlačítka křížek a kombinaci alt+f4  ale pokud v menu vybereš ukončit aplikaci tak se ukončí (řešení je překompilovat ji ze zdrojáků a vyhodit tu volbu ukončit). :)

18.12.2014 13:40 Adamec | skóre: 31
Rozbalit Rozbalit vše Re: Zamezení vypnutí aplikace uživatelem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nepouzivam gnome, le nasel jsem ... prubni ...
window_id=`wmctrl -l | grep Insert_Name_of_Window | head -n1 | cut -d" " -f1`
xprop -id "$window_id" -format _NET_WM_ALLOWED_ACTIONS 32a -set _NET_WM_ALLOWED_ACTIONS "_NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW"
This is not a bug it's a feature
18.12.2014 16:23 ikar
Rozbalit Rozbalit vše Re: Zamezení vypnutí aplikace uživatelem
Dík, vyzkouším a dám vědět
18.12.2014 19:00 Adamec | skóre: 31
Rozbalit Rozbalit vše Re: Zamezení vypnutí aplikace uživatelem
to je jen priklad toho xprof ...

odstraneni zahlavi okna kde jsou tlacitka umi treba devilspie

zjisti si id programu ... "wmctrl -l" .... priklad 0x0200008a

a prikazem

xdotool windowunmap 0x0200008a si ho "zneviditelnis v liste",
a naopak "xdotool windowmap 0x0200008a" "zviditelnis" ...

ovsem za predpokladu ze mas vsechny tyto programy nainstalovany, nebo mas moznost
je do systemu "dotlacit"

Zdar
This is not a bug it's a feature
19.12.2014 09:01 ikar
Rozbalit Rozbalit vše Re: Zamezení vypnutí aplikace uživatelem
Dobrý den, vyzkoušel jsem nastavení těch _NET_WM_ACTIONS. Nastavování pomocí xprop funguje, ALLOWED_ACTIONS se nastaví jak chci, jenže GNOME tohle celé naprosto ignoruje - v praxi se vůbec nic nezmění. Osobně jsem happy, že jsem na svých počítačích GNOME opustil, jenže tohle není můj počítač a nemohu si na něm bohužel zvolit nějaký DM, který není, cituji, pro idioty, konec citace.

Děkuji za snahu pomoci.
19.12.2014 09:16 R
Rozbalit Rozbalit vše Re: Zamezení vypnutí aplikace uživatelem
Ked tam musi byt GNOME, nedal by sa aspon window manager vymenit? Napriklad za KWin?
19.12.2014 12:54 Adamec | skóre: 31
Rozbalit Rozbalit vše Re: Zamezení vypnutí aplikace uživatelem
xprop -id 0x0380008a -f _NET_WM_WINDOW_TYPE 32a -set _NET_WM_WINDOW_TYPE _NET_WM_WINDOW_TYPE_SPLASH

program mi zmizel z listy, tlacitka okna nefunfuji ... ale s oknem se neda "hybat"
:(
This is not a bug it's a feature
19.12.2014 14:26 ikar
Rozbalit Rozbalit vše Re: Zamezení vypnutí aplikace uživatelem
To vypadá nadějně. Funguje to v GNOME? Pokud ano, v které verzi? Dík
19.12.2014 20:57 Adamec | skóre: 31
Rozbalit Rozbalit vše Re: Zamezení vypnutí aplikace uživatelem
gnome nevlastnim ... vyzkouseno v xfce, ale nasel jsem to nekde na webu venovanem
gnome ... takze snad ...

dej vedet :)
This is not a bug it's a feature
19.12.2014 22:48 ikar
Rozbalit Rozbalit vše Re: Zamezení vypnutí aplikace uživatelem
Tak tohle funguje stejně i v GNOME2

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.