Portál AbcLinuxu, 10. května 2025 11:05

Dotaz: Jak zjistit cesty otevřené v panelech Dolphinu (dbus, CLI, jakkoliv)?

17.2.2013 10:22 JanM | skóre: 28
Jak zjistit cesty otevřené v panelech Dolphinu (dbus, CLI, jakkoliv)?
Přečteno: 245×
Odpovědět | Admin
Dobré dopoledne,

rád bych, aby se po oskenování stránky (spuštěné tlačítkem na skeneru) Cílem tedy je neotvírat stále nová okna Dolphinu po každém naskenovaném obrázku ani nezavírat již otevřená okna či panely s jinou destinací.

Na manuálové stránky si KDE SC 4.10 nepotrpí, přepínače na příkazové řádce jsou všeho všudy dva.

Pomocí qdbusviewer jsem prošel všechny možné vlastnosti, ale nikde jsem nenašel seznam otevřených oken či panelu s informací o zobrazené "cestě".

Na půl cesty je pouze název okna - Dolphin v něm uvádí poslední část plné cesty (/srv/public se zobrazuje jako public - Dolphin).

Neznáte někdo jiný fígl?

P.S. Nerad bych používal jiný souborový manažer.

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

17.2.2013 16:21 Matlák
Rozbalit Rozbalit vše Re: Jak zjistit cesty otevřené v panelech Dolphinu (dbus, CLI, jakkoliv)?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zcela jednoduše, by to šlo prostě kouknutím do seznamu procesů jestli tam ten dolphin --select cesta_k_souboru už nevisí - to je triviální (na dvouřádkový bash skript). Pokud chcete i zjistit, jaké panely jsou otevřené když dolphin začal otevřením třeba domovského adresáře uživatele, asi nezbude než to doprogramovat. Teoreticky by ještě mohl pomoct lsof..
17.2.2013 19:50 JanM | skóre: 28
Rozbalit Rozbalit vše Re: Jak zjistit cesty otevřené v panelech Dolphinu (dbus, CLI, jakkoliv)?
Díky, takto jsem nakonec skončil: pokud už existuje proces dolphin --select adresář, tak jej přes dbus ukončím (prosté kill -15 občas nefungovalo) a spustím znovu -> tím se "vybere" příslušný naskenovaný soubor.

Není to úplně ono, ale je to dostatečně dobré.
18.2.2013 13:32 JanM | skóre: 28
Rozbalit Rozbalit vše Re: Jak zjistit cesty otevřené v panelech Dolphinu (dbus, CLI, jakkoliv)?
Odpovědět | | Sbalit | Link | Blokovat | Admin
A ještě k tomu doplním třešničku na závěr: dolphin je spuštěn démonem scanbd, který je na Archlinuxu unit.service dle systemd.

Protože scanbd měl občas problém s nalezením skeneru po jeho zapnutí/vypnutí, upravil jsem udev, aby se démon startoval po zapnutí skeneru a ukončil po vypnutí skeneru.

Jenze ač démon skončil normálně, systemd po time-outu "zabil" i dolphina. Nepomohlo forkování - setsid, nohup, (dolphin &).

Long story short: problém je v cgroups, neb systemd všechny podřízené procesy drží ve stejné cgroup jako démona, po skončení démona chtě nechtě skončí i podřízené procesy.

Kromě již uvedeného forkování jsem to "vyřešil" přemístěním PID dolphinu do jiných cgroups. (echo $PID > /sys/fs/cgroups/nekam_jinam/cgroups.proc

Takže by mne jen zajímalo, jestli ta potíž jde řešit i jinak, třeba v rámci unit files systemd.
18.2.2013 14:05 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Jak zjistit cesty otevřené v panelech Dolphinu (dbus, CLI, jakkoliv)?
Tohle je přesně důvod, proč se lidi brání komplikovanému systemd. Vychytání těhle okrajových situací bude trvat roky (stejně jako tomu bylo a stále je u pulseaudia).

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.