L'uso di wmctrl con il prompt di zenity provoca un errore di segmentazione budgie-wm [chiuso]


3

Sto tentando di scrivere uno script bash che passa da un'area di lavoro ad alcune istruzioni di dialogo lungo la strada. Sto eseguendo Ubuntu 17.04 con il remix di Budgie.

Quando si usano wmctrlo zenityseparatamente, entrambi funzionano bene. Mettili insieme comunque e budgie window manager si arresta in modo anomalo con un errore di segmentazione.

Questo succede usando entrambi wmctrl -s 0e xdotool set_desktop 0. Funzionano bene da soli ma non in combinazione con zenity.

Ecco il mio codice (induce un errore di segmentazione)

#!/bin/bash

desktop=$(xdotool get_desktop) #Get current workspace id

if [ "${desktop}" -eq 0 ] #If workspace == 0
then
  wmctrl -s 3 #Switch to workspace 3
  firefox --new-window "http://www.reddit.com"
else
    zenity --question --title "Switch Workspace?" --text "Are you sure you wish to return to previous workspace?"
    if ! $? #If response Yes
    then
      wmctrl -s 0 #Switch back
    else
      notify-send "Operation Aborted" "User canceled workspace return."
    fi
fi

Esempio di codice funzionante quando il wmctrlcomando viene utilizzato da solo

#!/bin/bash

desktop=$(xdotool get_desktop) #Get current workspace id

if [ "${desktop}" -eq 0 ] #If workspace == 0
then
  wmctrl -s 3 #Switch to workspace 3
  firefox --new-window "http://www.reddit.com"
else
  wmctrl -s 0 #Switch back
fi

Esempio di codice funzionante quando il zenitycomando viene utilizzato da solo

#!/bin/bash

desktop=$(xdotool get_desktop) #Get current workspace id

if [ "${desktop}" -eq 0 ] #If workspace == 0
then
  wmctrl -s 3 #Switch to workspace 3
  firefox --new-window "http://www.reddit.com"
else
    zenity --question --title "Switch Workspace?" --text "Are you sure you wish to return to previous workspace?"
    if ! $? #If response Yes
    then
      notify-send "Switch Workspace" "Operation placeholder."
    else
      notify-send "Operation Aborted" "User canceled workspace return."
    fi
fi

Ecco cosa ho trovato dentro journalctl

Dec 02 11:17:54 main budgie-wm.desktop[20079]: Window manager warning: Received a NET_CURRENT_DESKTOP message from a broken (outdated) client who sent a 0 timestamp
Dec 02 11:17:54 main kernel: budgie-wm[20079]: segfault at 18 ip 00007fa255e8dfc1 sp 00007fff13189710 error 4 in libmutter-0.so.0.0.0[7fa255df0000+131000]
Dec 02 11:17:55 main gnome-session-binary[19810]: WARNING: Application 'budgie-wm.desktop' killed by signal 11
Dec 02 11:17:55 main gnome-session[19810]: gnome-session-binary[19810]: WARNING: Application 'budgie-wm.desktop' killed by signal 11
Dec 02 11:17:55 main ckb.desktop[20137]: QXcbConnection: XCB error: 148 (Unknown), sequence: 423, resource id: 0, major code: 140 (Unknown), minor code: 20
Dec 02 11:17:56 main budgie-wm[21537]: invalid (NULL) pointer instance
Dec 02 11:17:56 main budgie-wm[21537]: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

Cosa causa l'errore di segmentazione quando zenityviene utilizzato per attivare l'interruttore dell'area di lavoro, ma entrambi i componenti funzionano correttamente separatamente?


2
Per favore non ripubblicare la tua domanda, ma piuttosto modificarla !
dessert,

Per favore, prova xdotool set_desktop 3(o meglio 0).
dessert,

1
@dessert, questo accade usando sia wmctrl -s 0 che xdotool set_desktop 0.
Tom

1
Voto per chiudere questa domanda perché penso che sia un bug zenity. Suggerisco di cercarlo su bugs.launchpad.net/ubuntu/+source/zenity e di presentare un nuovo bug se non è già lì.
dessert,

Risposte:


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.