# Neue Versionen für MAusSK und ButtonBar mit python

**URL:** <https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049>\
**Category:** Software\
**Created:** [17. Mai 2023 um 19:15 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049 "2023-05-17T19:15:56Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![martin.res](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/martin.res/32/1580_2.png) [@martin.res](https://ask.linuxmuster.net/u/martin.res)\
**Post date:** [17. Mai 2023 um 19:15 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/1 "2023-05-17T19:15:56Z")

</div>

Hallo zusammen,  
für das Classroommanagement MAusSK gibt es eine neue, überarbeitete Version, bei der der Serverdienst nun in python3 implementiert ist und dadurch performanter läuft:  
[https://wiki.linuxmuster.net/community/anwenderwiki:classroom\_management:maussk\_v1](https://wiki.linuxmuster.net/community/anwenderwiki:classroom_management:maussk_v1)  
Die neue Version 1.x hat mehrere neue Features und muss deshalb sowohl am Server als auch am Linux-Client und Windows-Client komplett neu installiert werden.

Auch das einfache Tool ButtonBar gibts nun für Linux-Clients in python3:  
[https://wiki.linuxmuster.net/community/anwenderwiki:linuxclient:buttonbar\_python](https://wiki.linuxmuster.net/community/anwenderwiki:linuxclient:buttonbar_python)

Grüße  
Martin

---

<div class="post-metadata">

**Author:** ![schajor](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/schajor/32/3614_2.png) [@schajor](https://ask.linuxmuster.net/u/schajor)\
**Post date:** [19. Juli 2023 um 07:29 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/2 "2023-07-19T07:29:03Z")

</div>

Hallo Martin

die Installation der MAusSK auf einem frisch geupdateten System 7.2 hat folgende Fehlermeldung:

userdel: user ‚teacher‘ does not exist  
dpkg: Fehler beim Bearbeiten des Paketes linuxmuster-base7 (–configure):  
»installiertes linuxmuster-base7-Skript des Paketes post-installation«-Unterprozess gab den Fehlerwert 6 zurück  
Fehler traten auf beim Bearbeiten von:  
linuxmuster-base7  
E: Sub-process /usr/bin/dpkg returned an error code (1)

Kann jemand einordnen ob das ein Fehler der MAusSK oder der 7.2 ist ?

Grüße Rainer

---

<div class="post-metadata">

**Author:** ![martin.res](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/martin.res/32/1580_2.png) [@martin.res](https://ask.linuxmuster.net/u/martin.res)\
**Post date:** [19. Juli 2023 um 10:10 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/3 "2023-07-19T10:10:58Z")

</div>

Hallo Rainer,  
das Install-Script der MAusSK führt folgenden Befehl aus:  
dpkg -s linuxmuster-base7  
Der Befehl überprüft den Status (-s) des Paketes, ob eine lmn7 vorliegt.

Wenn du den Befehl direkt aufrufst, müsste die gleiche Fehlermeldung erscheinen.  
Wahrscheinlich ist die Installation von linuxmuster-base7 und dein Update nicht in Ordnung.  
LG  
Martin

---

<div class="post-metadata">

**Author:** ![schajor](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/schajor/32/3614_2.png) [@schajor](https://ask.linuxmuster.net/u/schajor)\
**Post date:** [19. Juli 2023 um 10:35 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/4 "2023-07-19T10:35:44Z")

</div>

Hallo Martin

du vermutest wohl richtig:

Auf dpkg -s linuxmuster-base7 bekomme ich die Meldung:

Status: install ok half-configured

Damit muss ich wohl einen neuen Thread aufmachen …

Grüße Rainer

---

<div class="post-metadata">

**Author:** ![dominik](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/dominik/32/443_2.png) [@dominik](https://ask.linuxmuster.net/u/dominik)\
**Post date:** [24. September 2023 um 11:58 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/5 "2023-09-24T11:58:13Z")

</div>

Hallo Martin,  
auf unserer LMN 7.2 habe ich gerade das Update von 0.95 auf 1.11f versucht. Beim Starten des schukodaemons tritt der folgende Fehler auf:

```auto
Traceback (most recent call last):
File "/usr/lib/linuxmuster-maus/schukodaemon.py", line 21, in <module>
import mybase
ImportError: bad magic number in 'mybase': b'3\r\r\n'
systemd[1]: **schukodaemon.service: Main process exited, code=exited, status=1/FAILURE**

```

Das Problem liegt wohl an inkompatiblen python3-Versionen, womit die vorkompilierten pyc-Dateien nicht interpretiert werden können. Als Python-Version ist auf dem Server 3.10.12 installiert.  
Ich könnte mir vorstellen, dass das Problem dann auch bei den Modulen ClientThread, mconst und ServerThread auftreten würde.

Viele Grüße  
Dominik

---

<div class="post-metadata">

**Author:** ![martin.res](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/martin.res/32/1580_2.png) [@martin.res](https://ask.linuxmuster.net/u/martin.res)\
**Post date:** [24. September 2023 um 13:40 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/6 "2023-09-24T13:40:51Z")

</div>

Hallo Dominik,  
du hast recht, habe die Module mit python 3.6.9 kompiliert, wohl inkompatibel zu 3.10.12  
Habe gedacht, dass alle python 3-Versionen zueinander kompatibel sind und es nur zwischen python 2 und 3 Probleme gibt.  
LG  
Martin

---

<div class="post-metadata">

**Author:** ![irrlicht](https://ask.linuxmuster.net/letter_avatar_proxy/v4/letter/i/8e7dd6/32.png) [@irrlicht](https://ask.linuxmuster.net/u/irrlicht)\
**Post date:** [20. November 2023 um 09:49 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/7 "2023-11-20T09:49:18Z")

</div>

Tag auch,  
stehen gerade vor der Wahl zwischen MAusSK und Epoptes

1. Worin unterscheidet sich MAusSK von Epoptes?
2. Kann ich bei MAuSk die Features auf An- bzw. Abschalten der Grafik begrenzen? Rest steht datenschutzrechtlich gerade noch zur Debatte.

Benutzt jemand MAusSK im harten Schuleinsatz?

Gruss Harry

---

<div class="post-metadata">

**Author:** ![maxEG](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/maxeg/32/74_2.png) [@maxEG](https://ask.linuxmuster.net/u/maxEG)\
**Post date:** [20. November 2023 um 16:08 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/8 "2023-11-20T16:08:05Z")

</div>

Hi Harry,  
ja, ich verwende es und es funktioniert sehr gut. Die Kollegen mögen es, weil es so einfach ist. Hier schaltet niemand mehr das Internet über die Schulkonsole frei. Nachteil: Die KuK wissen nicht mehr, was die Schuko ist und wenn sie mal ein PW ändern müssen…  
Vorteil: Du kannst das Netz für den ganzen Raum freigeben und auch, wenn einer später kommt, wird er freigeschaltet (oder eben gesperrt). VA. die Tastatur- und Monitorsperre ist schön 🙂  
LG  
Max

---

<div class="post-metadata">

**Author:** ![foer](https://ask.linuxmuster.net/letter_avatar_proxy/v4/letter/f/ac8455/32.png) [@foer](https://ask.linuxmuster.net/u/foer)\
**Post date:** [18. Juni 2024 um 12:41 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/9 "2024-06-18T12:41:37Z")

</div>

Hallo Martin,  
ich bin gerade dabei, die maus\_sk 0.95 durch die maus\_sk 1.2 zu ersetzen. War jetzt zwingend nötig, weil 0.95 unter Ubuntu 24.04 zickig ist.  
Dabei fange ich ganz neu an, d.h. ich habe alle Spuren der alten Maus vom Server und von den Clients entfernt. Das ist mal nötig, weil ich da über die letzten Jahre unendlich viel gebastelt habe.

Ich sammle hier mal die Stolpersteine:

1. Der Link im Wiki zeigt noch auf 1.11f nicht auf 1.2

2. Nach Installation von 1.2 startet der Schukodaemon trotzdem nicht, weil die unkompilierten \*.py Dateien nicht auf den Server kopiert werden, sondern nach wie vor die \*.pyc-Dateien. Die dürfen gar nicht kopiert werden. Nachdem ich die \*.py-Dateien von Hand an die richtige Stelle geschoben habe und die \*.pyc-Dateien gelöscht startet der schukodaemon

Weiter bin ich noch nicht gekommen…

---

<div class="post-metadata">

**Author:** ![foer](https://ask.linuxmuster.net/letter_avatar_proxy/v4/letter/f/ac8455/32.png) [@foer](https://ask.linuxmuster.net/u/foer)\
**Post date:** [18. Juni 2024 um 20:06 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/10 "2024-06-18T20:06:41Z")

</div>

Hallo Martin @martin.res ,

habe jetzt die Maus SK 1.2 ausgerollt und verteilt. Viel konnte ich noch nicht testen aber auf den ersten Blick geht schon mal das Wesentliche. Der neue schukodaemon macht die Sache deutlich performanter! Vielen Dank dafür!

Einen recht gravierenden Showstopper habe ich allerdings schon festgestellt. Wenn man einen Client zeigen oder steuern will öffnet sich Reminna aber das Passwort wird nicht automatisch eingefügt. In der Datei $HOME/.maussk.remmina steht das Passwort auch nicht drin. Gebe ich das VNC Passwort per Hand ein funktioniert alles. Ich habe schon herausgefunden, dass diese Datei beim betätigen des „zeigen“-Schalters erzeugt wird, mehr kann ich aber leider nicht debuggen, weil die maus\_sk ja nur in kompillierter Form vorliegt…hast du eine Idee, warum das nicht funktioniert. Das VNC-Passwort wurde per global-admin über die Maus an den Server übertragen.

Wäre für einen Tipp dankbar!

VG  
Dominik

---

<div class="post-metadata">

**Author:** ![martin.res](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/martin.res/32/1580_2.png) [@martin.res](https://ask.linuxmuster.net/u/martin.res)\
**Post date:** [18. Juni 2024 um 21:45 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/11 "2024-06-18T21:45:24Z")

</div>

Hallo Dominik,  
danke für die Rückmeldung, arbeite dran.  
Der VNC Viewer reminna macht immer Probleme, da er sich leider auch nicht per config-Datei oder Optionen steuern lässt.  
Im Wiki ist nun Version 1.2a abgelegt und verlinked.  
LG  
Martin

---

<div class="post-metadata">

**Author:** ![foer](https://ask.linuxmuster.net/letter_avatar_proxy/v4/letter/f/ac8455/32.png) [@foer](https://ask.linuxmuster.net/u/foer)\
**Post date:** [19. Juni 2024 um 05:50 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/12 "2024-06-19T05:50:51Z")

</div>

Hallo Martin @martin.res ,  
habe das Remmina - Passwort - Problem gelöst.  
Für Ubuntu 24.04 muss im script `startremmina.sh` bei `xdotool search` noch die Option `--desktop 0` eingefügt werden…hier das funktionierende Script:

```auto
#!/bin/bash
#
# Usage: startremmina.sh <password>

/usr/bin/remmina -c $HOME/.maussk.remmina &
sleep 1
winid=$(xdotool search --desktop 0 --name 'Verbindung zu')
if [-z "$winid"]; then
  sleep 1
  winid=$(xdotool search --desktop 0 --name 'Client-')
fi
if [-z "$winid"]; then
  sleep 1
  winid=$(xdotool search --desktop 0 --name 'Client-')
fi
/usr/bin/xdotool windowactivate --sync $winid type $1
/usr/bin/xdotool windowactivate --sync $winid key Return

exit 0

```

Ebenfalls unter Ubuntu 24.04 funktioniert das Script `internetdaemon.sh` nicht mehr was daran liegt, dass man `ldbsearch` nur als `$USER` ausführen darf und es muss auch eine Option verändert werden…hier das funktionierende Script:

```auto
#!/bin/bash
#
# /usr/sbin/internetdaemon.sh
#

template_user=linuxadmin
servername=server
ad_domain=linuxmuster.windeck-gymnasium.de

user=$(who | awk '$2 ~ /:1/ {print $1}')
krbfile=$(find /tmp -user "$user" -name "krb5cc*" -type f)
i_member=$(sudo -u $user ldbsearch --use-kerberos=required --use-krb5-ccache=$krbfile -H ldap://$servername.$ad_domain "(&(samaccountname=$user))" | grep -E "memberOf.*CN=internet")

if [[-z "$i_member"]] && [[-n "$user"]] && [[$user != $template_user]]
then
iptables -A OUTPUT -p tcp --dport 3128 -j REJECT
#echo $(date)" ... Internet aus für "$user >> /var/log/i_on_off.log
else
iptables -D OUTPUT -p tcp --dport 3128 -j REJECT
#echo $(date)" ... Internet an für "$user >> /var/log/i_on_off.log
fi 

exit 0

```

Ansonsten funktioniert jetzt erst mal alles…genauere Tests folgen in den nächsten Tagen/Wochen. Die neue Maus läuft wesentlich performanter! …wirklich super!  
DANKE Martin!

LG  
Dominik

---

<div class="post-metadata">

**Author:** ![martin.res](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/martin.res/32/1580_2.png) [@martin.res](https://ask.linuxmuster.net/u/martin.res)\
**Post date:** [20. Juni 2024 um 17:31 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/13 "2024-06-20T17:31:57Z")

</div>

Hallo Dominik,  
wenn man die Option --desktop weglässt, dann sucht er auf allen Desktops, das Script funktioniert bei mir deshalb auch ohne die Option. Mit der Option sucht er nur auf Desktop 0, das funktioniert aber bei meiner Umgebung nicht?  
Klar, die ad\_domain muss man anpassen, wenn man nicht default verwendet.  
Hast du absichtlich von ldaps auf ldap gewechselt?  
LG  
Martin

---

<div class="post-metadata">

**Author:** ![foer](https://ask.linuxmuster.net/letter_avatar_proxy/v4/letter/f/ac8455/32.png) [@foer](https://ask.linuxmuster.net/u/foer)\
**Post date:** [20. Juni 2024 um 20:45 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/14 "2024-06-20T20:45:22Z")

</div>

Hallo Martin,  
du hast das glaube ich 2 x falsch verstanden.  
Bei Ubuntu 22.04 klappt es nur ohne desktop 0. Bei Ubuntu 24.04 ist das desktop 0 zwingend nötig weil es sonst dort nicht mehr funktioniert.  
Um die ad\_domain geht es gar nicht. Schau die den ldbsearch - Befehl genau an, da sind einige Änderungen gegenüber deiner Befehlszeile. Und ja ldaps musste ich gegen ldap tauschen, weil es sonst nicht mehr funktioniert.

Ich hatte heute die neue Maus SK mal im Unterrichtseinsatz und da sind mir zwei Dinge auf die Füße gefallen:

1. Die Bildschirmsperre benötigt jetzt qiv, was aber bei der Installation der Maus nicht mitkommt…war jetzt nicht so dramatisch, dann hatten die SuS halt nicht das Sperrbild.
2. Problematisch ist, das die Bildschirmsperre gegenüber der Maus 0.95 extrem unzuverlässig ist…immer etwa die Hälfte der PC wird nicht gesperrt…ich schau mir das die Tage nochmal an, ob ich da im `sperren.sh`-Skript irgendwas optimieren kann.  
LG  
Dominik

---

<div class="post-metadata">

**Author:** ![martin.res](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/martin.res/32/1580_2.png) [@martin.res](https://ask.linuxmuster.net/u/martin.res)\
**Post date:** [20. Juni 2024 um 21:49 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/15 "2024-06-20T21:49:15Z")

</div>

Hallo Dominik,  
beim Install-Script am Client wird qiv installiert - hattest du evtl. dabei keinen Internetzugriff des Clients?  
Ich verwende qiv, da das Programm schnell startet um den Sperrbildschirm anzuzeigen.  
Deinen neuen ldbsearch-Befehl habe ich gesehen und auch schon eingebaut - merci. Von Version 4.7 auf 4.15 wurden die Optionsnamen geändert - das habe ich nicht mitbekommen.  
Bisher habe ich nur mit 22.04 getestet.  
Wenn der Client nicht gesperrt wird - kommt überhaupt der Befehl dazu per Netzwerk am Client an?  
LG  
Martin

---

<div class="post-metadata">

**Author:** ![foer](https://ask.linuxmuster.net/letter_avatar_proxy/v4/letter/f/ac8455/32.png) [@foer](https://ask.linuxmuster.net/u/foer)\
**Post date:** [21. Juni 2024 um 11:08 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/16 "2024-06-21T11:08:28Z")

</div>

Hallo Martin,

> [@martin.res](#):
>
> beim Install-Script am Client wird qiv installiert - hattest du evtl. dabei keinen Internetzugriff des Clients?

jo das ist möglich…

> [@martin.res](#):
>
> Wenn der Client nicht gesperrt wird - kommt überhaupt der Befehl dazu per Netzwerk am Client an?

Ja der Befehl kommt an. Es hat eine ganz andere Ursache…ich habe heute 45 Minuten mit meinen Infoschülern daran rumgetestet…es ist einfach so, dass die SuS eine Möglichkeit gefunden haben die Bildschirmsperre zu verhindern…  
Die SuS drücken die Windows-Taste, damit kommen sie zur Workspace-Übersicht und dort lassen sie den Rechner stehen. Kommt jetzt der Sperrbefehl, dann kommt zwar das Sperrbild aber die Sperre an sich funktioniert nicht. Ich habe jetzt aus Ermangelung von Zeit einfach einen kleinen Hack in dein sperren.sh eingebaut, bei dem vor dem Sperren mit xdotool zwei Mal die ESC-Taste gedrückt wird. Das führt dazu, dass die Workspce-Übersicht sicher geschlossen wird und die Sperre funktioniert. Vielleicht kann man das schöner lösen aber es funktioniert jetzt rock solid…hier das modifizierte Skript:

```auto
#! /bin/bash
#
# sperren.sh
#
# Version 0.7
# 19.4.2023
########################################################
gnomeuser=$(w | grep "session=ubuntu" | awk '{print $1}')
usercount=$(who | wc -l)
ausgabe=$(screen -ls)

if [["$ausgabe" =~ "mausdaemon_slock"]]; then
  echo "Abbruch: Lock - Befehl ist schon aktiv!"
  exit 1
else
  screen -d -m -S mausdaemon_slock
    #sleep 1

  if [-e "/etc/linuxmuster-maus/X11_last_user_display"]; then
    dp=$(cat /etc/linuxmuster-maus/X11_last_user_display)
    if [[$dp =~ ^:[0-3]$ ]]; then
      screen -S mausdaemon_slock -X stuff $"export DISPLAY=$dp\n"
    else
      screen -S mausdaemon_slock -X stuff $'export DISPLAY=:0\n'
    fi
  else
    screen -S mausdaemon_slock -X stuff $'export DISPLAY=:0\n'
  fi

if [$usercount != 0]; then
  DISPLAY=$dp sudo -u $gnomeuser xdotool key Escape
  DISPLAY=$dp sudo -u $gnomeuser xdotool key Escape
fi

  screen -S mausdaemon_slock -X stuff $'/usr/bin/qiv -Gif /etc/linuxmuster-maus/closed.jpg &\n'
  if ["$1" = "-u"]; then
    sleep 1
    screen -S mausdaemon_slock -X stuff $'/usr/bin/X11/xclock -geometry 200x200+20+20 -update 1 &\n'
  fi
  screen -S mausdaemon_slock -X stuff $'/usr/bin/xtrlock \n'
fi
exit 0

```

LG  
Dominik

---

<div class="post-metadata">

**Author:** ![martin.res](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/martin.res/32/1580_2.png) [@martin.res](https://ask.linuxmuster.net/u/martin.res)\
**Post date:** [22. Juni 2024 um 17:22 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/17 "2024-06-22T17:22:21Z")

</div>

Hallo Dominik,  
super - workaround funktioniert.  
Fragen:

1. Warum zählst du die Anmeldungen (Variable usercount)? Wenn niemand angemeldet ist, dann läuft es halt ins Leere.
2. Warum sendest du 2 x ESC, bei mir genügt auch einmal.

Problem: Das Senden von ESC schließt beim Client ggf. ein gerade offenens Fenster. Als Lösung sende ich ctrl+Escape - das wird von vielen (nicht allen) Fenstern dann ignoriert.  
Geändertes Script, bei dem auch der xdotool Befehl in der screen-session ist. Funktioniert das auch bei dir?

```auto
#! /bin/bash
#
# sperren.sh
#
# Version 0.8
# 22.6.2024
########################################################

ausgabe=$(screen -ls)

if [["$ausgabe" =~ "mausdaemon_slock"]]; then
  echo "Abbruch: Lock - Befehl ist schon aktiv!"
  exit 1
else
  screen -d -m -S mausdaemon_slock
  # sleep 1

  if [-e "/etc/linuxmuster-maus/X11_last_user_display"]; then
    DP=$(cat /etc/linuxmuster-maus/X11_last_user_display)
    if [[$DP =~ ^:[0-3]$ ]]; then
      screen -S mausdaemon_slock -X stuff $"export DISPLAY=$DP\n"
    else
      screen -S mausdaemon_slock -X stuff $"export DISPLAY=:0\n"
    fi
  else
    screen -S mausdaemon_slock -X stuff $"export DISPLAY=:0\n"
  fi

  BENUTZER=$(who -u | awk -v dp="$DP" '$2==dp { print $1 }' | head -1)
    if [-z "$BENUTZER"]; then
      BENUTZER=$(who -u | awk '{print $1}' | head -1)
    fi

  screen -S mausdaemon_slock -X stuff $"sudo -u $BENUTZER xdotool key ctrl+Escape\n"
# ggf. Zeile aktivieren, um ESC zweimal zu senden
# screen -S mausdaemon_slock -X stuff $"sudo -u $BENUTZER xdotool key ctrl+Escape\n"

  screen -S mausdaemon_slock -X stuff $"/usr/bin/qiv -Gif /etc/linuxmuster-maus/closed.jpg &\n"
  if ["$1" = "-u"]; then
    sleep 1
    screen -S mausdaemon_slock -X stuff $"/usr/bin/X11/xclock -geometry 200x200+20+20 -update 1 &\n"
  fi
  screen -S mausdaemon_slock -X stuff $"/usr/bin/xtrlock \n"
fi

exit 0

```

---

<div class="post-metadata">

**Author:** ![martin.res](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/martin.res/32/1580_2.png) [@martin.res](https://ask.linuxmuster.net/u/martin.res)\
**Post date:** [22. Juni 2024 um 17:39 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/18 "2024-06-22T17:39:20Z")

</div>

Hallo Dominik,  
Script im Forum hatte noch einen Fehler, jetzt editiert.  
Grüße  
Martin

---

<div class="post-metadata">

**Author:** ![foer](https://ask.linuxmuster.net/letter_avatar_proxy/v4/letter/f/ac8455/32.png) [@foer](https://ask.linuxmuster.net/u/foer)\
**Post date:** [22. Juni 2024 um 20:39 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/19 "2024-06-22T20:39:02Z")

</div>

Hallo Martin,

> [@martin.res](#):
>
> Warum zählst du die Anmeldungen (Variable usercount)? Wenn niemand angemeldet ist, dann läuft es halt ins Leere.

ich kann es dir nicht mehr sagen…ich habe erst zig andere Wege versucht das Problem zu lösen…ist irgendein Überbleibsel 🤦‍♂️.

> [@martin.res](#):
>
> Warum sendest du 2 x ESC, bei mir genügt auch einmal.

Nein ein Mal genügt nicht. Es kann der Fall auftreten, dass ein User die Workspace-Übersicht öffnet und dann ein Programm suchen will. Dazu fängt er dann einfach in der Übersicht an zu Tippen. In diesem Stadium führt ein Mal ESC nur wieer zur Workspace-Übersicht und nicht zurück zum Desktop…für diesen Fall braucht man 2xESC.

> [@martin.res](#):
>
> Problem: Das Senden von ESC schließt beim Client ggf. ein gerade offenens Fenster. Als Lösung sende ich ctrl+Escape - das wird von vielen (nicht allen) Fenstern dann ignoriert.  
> Geändertes Script, bei dem auch der xdotool Befehl in der screen-session ist. Funktioniert das auch bei dir?

Das Problem hatte ich noch nicht, aber gut, dass du das weiter gedacht hast. Ich teste das neue Skript am Montag und melde mich.

Danke dir!

LG  
Dominik

---

<div class="post-metadata">

**Author:** ![foer](https://ask.linuxmuster.net/letter_avatar_proxy/v4/letter/f/ac8455/32.png) [@foer](https://ask.linuxmuster.net/u/foer)\
**Post date:** [24. Juni 2024 um 08:09 UTC](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049/20 "2024-06-24T08:09:35Z")

</div>

Hallo Martin,  
dein Skript funktioniert hier nicht, was daran liegt, dass die xdotool Befehle nicht aus der Screensession heraus gestartet werden dürfen. Nach dem ersten xdotool-Befehl stürzt die Screensession ab.

Ich habe das Skript jetzt angepasst und so funktioniert es. Die Variablen habe ich nur der Übersichtlichkeit wegen nach oben gepackt:

```auto
#! /bin/bash
#
# sperren.sh
#
# Version 0.8
# 22.6.2024
########################################################

DP=$(cat /etc/linuxmuster-maus/X11_last_user_display)
AUSGABE=$(screen -ls)
BENUTZER=$(who -u | awk -v dp="$DP" '$2==dp { print $1 }' | head -1)
    if [-z "$BENUTZER"]; then
      BENUTZER=$(who -u | awk '{print $1}' | head -1)
    fi

if [["$AUSGABE" =~ "mausdaemon_slock"]]; then
  echo "Abbruch: Lock - Befehl ist schon aktiv!"
  exit 1
else
  screen -d -m -S mausdaemon_slock
  # sleep 1

  if [-e "/etc/linuxmuster-maus/X11_last_user_display"]; then
    if [[$DP =~ ^:[0-3]$ ]]; then
      screen -S mausdaemon_slock -X stuff $"export DISPLAY=$DP\n"
      export DISPLAY=$DP
    else
      screen -S mausdaemon_slock -X stuff $"export DISPLAY=:0\n"
      export DISPLAY=:0
    fi
  else
    screen -S mausdaemon_slock -X stuff $"export DISPLAY=:0\n"
    export DISPLAY=:0
    fi

  sudo -u $BENUTZER xdotool key ctrl+Escape
  sudo -u $BENUTZER xdotool key ctrl+Escape

  screen -S mausdaemon_slock -X stuff $"/usr/bin/qiv -Gif /etc/linuxmuster-maus/closed.jpg &\n"
  if ["$1" = "-u"]; then
    sleep 1
    screen -S mausdaemon_slock -X stuff $"/usr/bin/X11/xclock -geometry 200x200+20+20 -update 1 &\n"
  fi
  screen -S mausdaemon_slock -X stuff $"/usr/bin/xtrlock \n"
fi

exit 0

```

LG

Dominik

[Nächste Seite](https://ask.linuxmuster.net/t/neue-versionen-fuer-maussk-und-buttonbar-mit-python/10049.md?page=2)
