Präsentation aus dem Terminal stoppen

Post Reply
Message
Author
Laie
Posts: 318
Joined: Sun 20 Jan 2008, 18:42
Location: Germany

Präsentation aus dem Terminal stoppen

#1 Post by Laie »

Ich kann eine Libreoffice-Bildschirmpräsentation über die Kommandozeile starten.
Nun will ich sie anhalten. Das gelingt mir mit dem Befehl

Code: Select all

killall soffice.bin
Das Problem ist, dass das kein 'ordentliches' Schließen des Programms ist, sondern ein brutaler Abbruch. Office merkt sich den Abbruch und bietet beim nächsten Neustart die Wiederherstellungsdaten an.

Gibt es
a) Entweder in der Kommandozeile eine saubere Art, LO-Impress zu schließen
b) oder eine Möglichkeit, die Wiederherstellungsoption in Libreoffice abzustellen?

User avatar
HoerMirAuf
Posts: 255
Joined: Tue 22 Jan 2008, 12:11
Location: Würzburg

#2 Post by HoerMirAuf »

Hi,

also direkt aus dem Terminal heraus wird sich Libreoffice nicht sauber schließen lassen. Habe auch auf die schnelle keine Einstellung gesehen in der man das deaktivieren kann.

Als alternative, eine kleine "quick&dirty" Lösung:

Libre legt eine Art "Regsitry Datei" an. Bei mir unter dem Pfad
/root/.config/libreoffice/4/user/registrymodifications.xcu
In dieser steht die Recovery option wenn unsachgemäß beendet.

Und nun zur Lösung.

kleines bash skript anlegen unter /usr/bin
(ich nenne es mal killlibre) mit folgenden Inhalt:

Code: Select all

#!/bin/sh
killall -9 soffice.bin
sed -i "/Recovery/d" $HOME/.config/libreoffice/4/user/registrymodifications.xcu
das ganze Ausführbar machen, z.B. chmod +x /usr/bin/killlibre und zum beenden eben dann das bash skript im Terminal aufrufen:

killlibre

und beim nächsten mal startet libre ohne wiederherstellung

[size=75][color=blue]Bionic64[/color][/size]

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#3 Post by Karl Godt »

killall wuerde SIGTERM senden.

Ueber Signal-Nummern :

sh-3.00# killall -l
1) HUP
2) INT
3) QUIT
4) ILL
5) TRAP
6) ABRT
7) BUS
8) FPE
9) KILL
10) USR1
11) SEGV
12) USR2
13) PIPE
14) ALRM
15) TERM

.... und weitere.

Ich denke aber nicht, dass viele Programme Signale interpretieren,
sondern, beim Programmstart eine Markierung setzen und diese Markierung
bei normaler Beendigung wieder entfernen.
Diese Markierung koennte diese /Recovery/ Eintragung sein.

Es gibt Programme, die die Absicht haben sollen, beim Signal -1 SIGHUP HangUp
sich "neu zu starten" und dabei die Einstellungsdateien neu einlesen.
So etwas koennte es idealerweise dann auch bei Libre Office geben -
aber ich glaube nicht.

Eine Moeglichkeit waere es, ueber dbus eine Notiz an das Program senden zu koennen,
welches das Program dann wuenschenswerter weise ausfuehrt.
Oder einen anderen system-weiten "messagebus" .

Aber dann muesstes Du dir den source code vorknoepfen, und implementieren
und evtl abzweigen .
«Give me GUI or Death» -- I give you [[Xx]term[inal]] [[Cc]on[s][ole]] .
Macpup user since 2010 on full installations.
People who want problems with Puppy boot frugal :P

Post Reply