3

I'm trying to automate the installation of a Gnome Tweaks extension (Dash to Panel) and, at the end, it requires me to restart the Gnome Shell through Alt + F2 + r + Return (I think that Gnome Tweaks requires it too). How would I do it through a bash script?

I've already tried it through a library called xdotool but it won't recognize the final Return (or KP_Enter = numpad return) for some reason.

xdotool key Alt+F2+r+Return 
# `xdotool key "Alt+F2+r" && xdotool key "Return"` won't work either

I've also tried commands like gnome-shell --replace or killall gnome-shell but they either kill gnome shell or give me back a bunch of frigtening warning messages on the terminal telling me that something might have been overwritten. If I try Ctrl + C on the terminal after that, then Gnome Shell is gone for good this time and I have to reset my PC.

What is the proper way of doing this?

The warning messages:

$ gnome-shell -r

current session already has an ibus-daemon.
GNOME Shell-Message: 15:53:28.012: Telepathy is not available, chat integration will be disabled.
Gjs-Message: 15:53:28.122: JS WARNING: [/usr/share/gnome-shell/extensions/ubuntu-dock@ubuntu.com/appIcons.js 1028]: unreachable code after return statement

(gnome-shell:4088): Gjs-CRITICAL **: 15:53:28.145: Object .Gjs_DashToPanel-PreviewMenu (0x559054ff2650), has been already finalized. Impossible to set any property to it.
== Stack trace for context 0x5590534d94c0 ==
#0 0x7ffe2cb772c0 I   resource:///org/gnome/gjs/modules/_legacy.js:83 (0x7f1b084b5de0 @ 87)
#1 0x5590538aecd8 i   /home/philippe/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/taskbar.js:366 (0x7f1ae4fd0560 @ 93)
#2 0x7ffe2cb77ea0 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7f1b084b5de0 @ 71)
#3 0x5590538aec38 i   /home/philippe/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/panel.js:293 (0x7f1ae4fcb450 @ 410)
#4 0x7ffe2cb78a80 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7f1b084b5de0 @ 71)
#5 0x5590538aebb8 i   /home/philippe/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/panelManager.js:212 (0x7f1ae4fa8de0 @ 69)
#6 0x7ffe2cb79780 b   self-hosted:251 (0x7f1b084c4ab0 @ 223)
#7 0x5590538aeb28 i   /home/philippe/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/panelManager.js:199 (0x7f1ae4fa8d58 @ 72)
#8 0x7ffe2cb7a550 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7f1b084b5de0 @ 71)
#9 0x5590538aea68 i   /home/philippe/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/extension.js:109 (0x7f1ae4fa82b8 @ 12)
#10 0x5590538ae9b0 i   /home/philippe/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/extension.js:79 (0x7f1ae4fa81a8 @ 267)
#11 0x5590538ae938 i   /home/philippe/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/extension.js:55 (0x7f1ae4fa8120 @ 48)
#12 0x7ffe2cb7b860 b   resource:///org/gnome/gjs/modules/signals.js:128 (0x7f1b084d2230 @ 386)
#13 0x5590538ae888 i   resource:///org/gnome/shell/ui/extensionSystem.js:137 (0x7f1b08259340 @ 554)
#14 0x5590538ae7f0 i   resource:///org/gnome/shell/ui/extensionSystem.js:181 (0x7f1b08259450 @ 241)
#15 0x5590538ae770 i   resource:///org/gnome/shell/ui/extensionSystem.js:328 (0x7f1b08259b38 @ 13)
#16 0x7ffe2cb7cbf0 b   resource:///org/gnome/gjs/modules/signals.js:128 (0x7f1b084d2230 @ 386)
#17 0x5590538ae690 i   resource:///org/gnome/shell/misc/extensionUtils.js:191 (0x7f1b0825e2b8 @ 459)
#18 0x7ffe2cb7d860 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7f1b084b5de0 @ 71)
#19 0x5590538ae600 i   resource:///org/gnome/shell/misc/extensionUtils.js:197 (0x7f1b0825e3c8 @ 28)
#20 0x7ffe2cb7e560 b   resource:///org/gnome/shell/misc/fileUtils.js:27 (0x7f1b0825e4d8 @ 323)
#21 0x5590538ae570 i   resource:///org/gnome/shell/misc/extensionUtils.js:196 (0x7f1b0825e340 @ 72)
#22 0x7ffe2cb7f1c0 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7f1b084b5de0 @ 71)
#23 0x5590538ae4e0 i   resource:///org/gnome/shell/ui/extensionSystem.js:330 (0x7f1b08259ab0 @ 201)
#24 0x5590538ae460 i   resource:///org/gnome/shell/ui/extensionSystem.js:338 (0x7f1b08259bc0 @ 36)
#25 0x5590538ae3e0 i   resource:///org/gnome/shell/ui/extensionSystem.js:369 (0x7f1b08259de0 @ 67)
#26 0x5590538ae358 i   resource:///org/gnome/shell/ui/extensionSystem.js:377 (0x7f1b08259e68 @ 41)
#27 0x5590538ae2c8 i   resource:///org/gnome/shell/ui/main.js:229 (0x7f1b084da340 @ 1152)
#28 0x5590538ae240 i   resource:///org/gnome/shell/ui/main.js:133 (0x7f1b084da230 @ 237)
#29 0x5590538ae1c8 i   <main>:1 (0x7f1b08486b38 @ 48)

(gnome-shell:4088): Gjs-WARNING **: 15:53:28.384: Some code accessed the property 'getUniqueBusNameSync' on the module 'util'. That property was defined with 'let' or 'const' inside the module. This was previously supported, but is not correct according to the ES6 standard. Any symbols to be exported from a module must be defined with 'var'. The property access will work as previously for the time being, but please fix your code anyway.
Ubuntu AppIndicators-Message: 15:53:28.385: [AppIndicatorSupport-DEBUG] Registering StatusNotifierItem :1.93/StatusNotifierItem
Ubuntu AppIndicators-Message: 15:53:28.388: [AppIndicatorSupport-DEBUG] Registering StatusNotifierItem :1.89/org/ayatana/NotificationItem/software_update_available
Ubuntu AppIndicators-Message: 15:53:28.391: [AppIndicatorSupport-DEBUG] Registering StatusNotifierItem :1.89/org/ayatana/NotificationItem/livepatch
GNOME Shell-Message: 15:53:28.453: Error looking up permission: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.impl.portal.PermissionStore was not provided by any .service files

(gnome-shell:4088): Gjs-WARNING **: 15:53:35.464: Some code accessed the property 'refreshPropertyOnProxy' on the module 'util'. That property was defined with 'let' or 'const' inside the module. This was previously supported, but is not correct according to the ES6 standard. Any symbols to be exported from a module must be defined with 'var'. The property access will work as previously for the time being, but please fix your code anyway.
  • gnome-shell --replace or gnome-shell -r should be the right way to do this. Exactly what kind of errors are you seeing after running the command? Please edit your question and add the error messages verbatim. – pomsky Jul 20 at 18:11
  • Warning messages added. After gnome-shell --replace, should it end the command or should I have to add a & to disown it? Or is it due to my specific warnings? – Philippe Fanaro Jul 20 at 18:59
  • 1
4

Insert some delay before sending Return:

xdotool key "Alt+F2+r" && sleep 0.5 && xdotool key "Return"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.