[gelöst] Programm starten mit Parameter: anderes Programm anhalten?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
desputin
Beiträge: 1297
Registriert: 24.04.2015 17:16:34

[gelöst] Programm starten mit Parameter: anderes Programm anhalten?

Beitrag von desputin » 07.07.2017 09:33:03

Hallo Ihr,
ich versuche ein Workaround hinzubekommen, vielleicht könnt Ihr mir helfen.
Mein Problem: wenn ich VLC im Vollbild habe, startet xscreensaver und ich kann das nicht deaktiveren.

Kann ich den Start von VLC mit einem Parameter versehen, der den Hintergrunddienst xscreensaver anhält, ohne ihn zu schließen, sobald VLC startet? Wenn VLC dann wieder beendet wird, kann der xscreensaver wieder fortgesetzt werden.
Geht so etwas überhaupt per Script?

Viele Grüße desputin
Zuletzt geändert von desputin am 18.07.2017 07:58:54, insgesamt 1-mal geändert.
https://www.daswirdmanjawohlnochsagenduerfen.de
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Programm starten mit Parameter: anderes Programm anhalten?

Beitrag von smutbert » 07.07.2017 10:15:52

Da gibt es viele Möglichkeiten:
  1. in den Einstellungen von vlc
    Werkzeuge → Einstellungen → "Einstellungen zeigen: Alle" → Video → Bildschirmschoner deaktivieren
  2. Debiancaffeine
    Deaktiviert automatisch den Bildschoner, wenn eine der Anwendungen, die man dort einträgt, läuft.
  3. xset

    Code: Alles auswählen

    $ xset s off ; vlc ; xset s on
    
  4. xscreensaver-command
    1. Code: Alles auswählen

      $ xscreensaver-command -exit ; vlc ; xscreensaver
      
    2. Eine Schleife, die immer wieder

      Code: Alles auswählen

      screensaver-command -deactivate
      
      aufruft solange vlc läuft. Sollte nicht weiter schwierig sein als Skript allerdings wäre es im Moment im Forum nur schwer lesbar, weil innerhalb der Code-Tags noch die Zeilenumbrüche fehlen...

Benutzeravatar
desputin
Beiträge: 1297
Registriert: 24.04.2015 17:16:34

Re: Programm starten mit Parameter: anderes Programm anhalten?

Beitrag von desputin » 09.07.2017 22:13:44

Hallo smutbert,
super, vielen Dank!
Also die Bildschirmschoner habe ich in VLC schon deaktivert, aber das hat nichts gebracht. Kaffeine finde ich nicht so den tollen Player, da funktioniert das Umstellen von Sprachen und Untertiteln leider nicht immer.

Die anderen Verianten schau ich mir mal die nächsten Tage an, ob sie funktionieren.
Das alles wäre nicht nötig, wenn KDE sich nicht entschlossen hätte, die Bildschirmschoner mit Version 5 rauszuwerfen :(
https://www.daswirdmanjawohlnochsagenduerfen.de
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |

Benutzeravatar
desputin
Beiträge: 1297
Registriert: 24.04.2015 17:16:34

Re: Programm starten mit Parameter: anderes Programm anhalten?

Beitrag von desputin » 09.07.2017 22:18:38

PS Dein 3.
Wenn ich das richtig verstehe macht der Befehl das, oder?
1. xscreensaver ausstellen
2. VlC starten
3. Wenn VLC beendet wird, automatisch Xsceensaver wieder anstellen

Meine Frage: Kann ich das so in einer Zeile als Programmverknüpfung/Dateizuordnung für Video-Dateien in KDE definieren?
https://www.daswirdmanjawohlnochsagenduerfen.de
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Programm starten mit Parameter: anderes Programm anhalten?

Beitrag von smutbert » 09.07.2017 23:09:02

caffeine (nicht kaffeine!) ist kein anderer Videoplayer sonder spielt auf koffein an und soll das Einschlafen des Bildschirms, also den Bildschirmschoner, verhindern, wenn bestimmte Anwendungen laufen. Das Programm kann zB bei der Anmeldung automatisch gestartet werden und läuft dann im Hintergrund.

Zu dem 3.
Genau das sollte es tun. Für einen Starter müsstest du das ganze vermutlich in ein Skript schreiben und das aufrufen oder eventuell den Befehl in dieser Form angeben:

Code: Alles auswählen

sh -c "xset s off ; vlc --started-from-file %U ; xset s on"
(die Kommandooptionen für vlc hab ich der .desktop-Datei entnommen)

Diese Variante ist aber gerade bei vlc etwas problematisch, weil man mit vlc auch bereits laufende Instanzen von vlc steuern kann, dh unter Umständen schickt das eben gestartete vlc nur einen Befehl an ein bereits laufendes vlc und beendet sich wieder, womit bei dieser Variante der Bildschirm gleich wieder aktiviert wäre.

Dieses Verhalten, das es auch zB bei vielen Webbrowsern gibt, ist vermutlich der Grund dafür, dass es bei Lösungen wie caffeine oder 4.b. darauf hinausläuft ständig zu überwachen ob fragliche Programm läuft.

Außerdem wäre es vielleicht ganz interessant wie bei dir vlc selbst das Starten des Bildschirmschoners nicht verhindert - bei mir funktioniert das (meistens) recht zuverlässig, allerdings nicht mit xscreensaver und leider habe ich keine Idee wie man dem auf den Grund gehen könnte...

Benutzeravatar
desputin
Beiträge: 1297
Registriert: 24.04.2015 17:16:34

Re: Programm starten mit Parameter: anderes Programm anhalten?

Beitrag von desputin » 10.07.2017 17:02:44

Ok, danke für die ausführliche Antwort.
Ich glaube, ich würde dann am liebsten mit Caffeine das Problem lösen. Allerdings krieg ich eine Fehlermeldung und Caffeine startet nicht:

Code: Alles auswählen

caffeine
/usr/bin/caffeine:25: PyGIWarning: Gtk was imported without specifying a version first. 
Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
  from gi.repository import GObject, Gtk, GLib
und das Programm startet nicht :(
https://www.daswirdmanjawohlnochsagenduerfen.de
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Programm starten mit Parameter: anderes Programm anhalten?

Beitrag von smutbert » 10.07.2017 23:13:11

Ohje, dafür weiß ich keine Lösung - ein passender Bugreport findet sich zwar zB bei Ubuntu, aber ich bin mir nicht wirklich sicher wie man das behebt, obwohl sich die Lösung im Prinzip hier findet:
https://bugzilla.gnome.org/show_bug.cgi?id=727379

Ich würde versuchen in »/usr/bin/caffeine« ziemlich am Anfang der Datei, die Zeile

Code: Alles auswählen

from gi.repository import GLib, Gtk, GObject, AppIndicator3
durch

Code: Alles auswählen

import gi
gi.require_version("Gtk", "3.0")
from gi.repository import GLib, Gtk, GObject, AppIndicator3
zu ersetzen und eventuell genau dasselbe in »/usr/bin/caffeine-indicator« zu tun.

Benutzeravatar
desputin
Beiträge: 1297
Registriert: 24.04.2015 17:16:34

Re: Programm starten mit Parameter: anderes Programm anhalten?

Beitrag von desputin » 12.07.2017 07:24:07

Hallo Smutbert, das hatte leider nicht funktioniert mit Cafffeine.
ALLERDINGS gibt es ein ominöses Paket namens qvlc, wenn die die Videos mit qvlc anstatt mit vlc öffne, kommt der Bildschirmschoner nicht!
Weißt Du, was es mit /usr/bin/qvlc auf sich hat? in der Datei steht nur:
#! /bin/sh
exec /usr/bin/vlc -I "qt4" "$@"
https://www.daswirdmanjawohlnochsagenduerfen.de
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |

2undvierzig
Beiträge: 128
Registriert: 05.09.2016 12:04:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Programm starten mit Parameter: anderes Programm anhalten?

Beitrag von 2undvierzig » 12.07.2017 08:41:09

Der Fremde ist nur in der Fremde ein Fremder (Karl Valentin).

Benutzeravatar
desputin
Beiträge: 1297
Registriert: 24.04.2015 17:16:34

Re: Programm starten mit Parameter: anderes Programm anhalten?

Beitrag von desputin » 12.07.2017 18:27:51

Ah, ok, Auf jeden Fall scheint die QT-Oberfläche da etwas besser programmiert zu sein in dem Punkt.
https://www.daswirdmanjawohlnochsagenduerfen.de
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |

Antworten