guake
guake copied to clipboard
Tab names lost after reboot or after launching file manager (Caja)
Describe the bug
Custom tab names are lost after rebooting the system or after launching Caja.
Expected behavior
Once a new custom name is set for a tab it should be remembered and used again after restarting Guake, OS or after launching file manager like Caja directly from Guake tab.
Actual behavior
Each tab name are being reset to the default (containing a path). Additionally - launching Caja directly from Guake tab leads to clear output in every tab.
To Reproduce
Run the following command directly from Guake tab:
caja
OS: Arch Linux Kernel: 5.17.1-arch1-1 MATE 1.26.0 Caja 1.26.0
$ guake --support
(guake:41290): Gtk-WARNING **: 11:22:13.414: Theme parsing error: gtk-contained-dark.css:2871:228: Missing closing bracket for :not()Guake Version: 3.8.6.dev0
Vte Version: 0.68.0
Vte Runtime Version: 0.68.0
GTK+ Version: 3.24.33
GDK Backend: <GdkX11.X11Display
Desktop Session: mate
Display: :0
RGBA visual: True
Composited: True
- Monitor: 0 - AUO eDP-1
- Geometry: 1920 x 1080 at 0, 1080
- Size: 309 x 174 mm²
- Primary: True
- Refresh rate: 120.015 Hz
- Subpixel layout: unknown
- Monitor: 1 - BNQ HDMI-1
- Geometry: 1920 x 1080 at 0, 0
- Size: 531 x 299 mm²
- Primary: False
- Refresh rate: 60.0 Hz
- Subpixel layout: unknown
If you go to preferences and check the "Automatically save session when the tabs has been modified" box Guake should save tab names immediately
@Davidy22 I have this option enabled for a long time. It looks like there is some bug because running caja
directly from Guake resets tab names. It is weird because sometimes when I launch Caja outside of Guake the problem occurs again.
From user perspective it looks like some problem with internal communication with system. Perhaps it is DBus related?
Went and installed caja, ran caja in a renamed tab and did not encounter this. Do you maybe have any scripts set to run with a caja session?
Actually, if we suspect there's some rogue dbus signals being sent you could run dbus-monitor
, invoke the bug and grab the output generated when you invoked the bug to see if any program sent a dbus signal it shouldn't have.
The following output has been generated after running dbus-monitor
from QTerminal:
signal time=1650435818.263329 sender=org.freedesktop.DBus -> destination=:1.129 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string ":1.129"
signal time=1650435818.263402 sender=org.freedesktop.DBus -> destination=:1.129 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
string ":1.129"
After launching caja
from Guake:
method call time=1650435823.110932 sender=:1.130 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method return time=1650435823.110947 sender=org.freedesktop.DBus -> destination=:1.130 serial=1 reply_serial=1
string ":1.130"
signal time=1650435823.110958 sender=org.freedesktop.DBus -> destination=(null destination) serial=173 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string ":1.130"
string ""
string ":1.130"
signal time=1650435823.110970 sender=org.freedesktop.DBus -> destination=:1.130 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string ":1.130"
method call time=1650435823.111162 sender=:1.130 -> destination=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',arg0='org.gtk.vfs.Daemon'"
method return time=1650435823.111174 sender=org.freedesktop.DBus -> destination=:1.130 serial=3 reply_serial=2
method call time=1650435823.111193 sender=:1.130 -> destination=org.freedesktop.DBus serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=StartServiceByName
string "org.gtk.vfs.Daemon"
uint32 0
method return time=1650435823.111218 sender=org.freedesktop.DBus -> destination=:1.130 serial=4 reply_serial=3
uint32 2
method call time=1650435823.111308 sender=:1.130 -> destination=org.freedesktop.DBus serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner
string "org.gtk.vfs.Daemon"
method return time=1650435823.111318 sender=org.freedesktop.DBus -> destination=:1.130 serial=5 reply_serial=4
string ":1.3"
method call time=1650435823.111405 sender=:1.130 -> destination=:1.3 serial=5 path=/org/gtk/vfs/mounttracker; interface=org.gtk.vfs.MountTracker; member=ListMountableInfo
method return time=1650435823.111669 sender=:1.3 -> destination=:1.130 serial=78 reply_serial=5
array [
struct {
string "davs+sd"
string "davs+sd"
array [
]
int32 0
boolean false
}
struct {
string "dav+sd"
string "dav+sd"
array [
]
int32 0
boolean false
}
struct {
string "google-drive"
string "google-drive"
array [
]
int32 0
boolean false
}
struct {
string "ftp"
string "ftp"
array [
]
int32 21
boolean true
}
struct {
string "afp-volume"
string "afp"
array [
]
int32 548
boolean true
}
struct {
string "http"
string "http"
array [
]
int32 0
boolean false
}
struct {
string "localtest"
string "localtest"
array [
]
int32 0
boolean false
}
struct {
string "davs"
string "davs"
array [
]
int32 0
boolean false
}
struct {
string "dav"
string "dav"
array [
]
int32 0
boolean false
}
struct {
string "computer"
string "computer"
array [
]
int32 0
boolean false
}
struct {
string "ftps"
string "ftps"
array [
]
int32 21
boolean true
}
struct {
string "trash"
string "trash"
array [
]
int32 0
boolean false
}
struct {
string "network"
string "network"
array [
]
int32 0
boolean false
}
struct {
string "afp-server"
string "afp"
array [
]
int32 548
boolean true
}
struct {
string "burn"
string "burn"
array [
]
int32 0
boolean false
}
struct {
string "dns-sd"
string "dns-sd"
array [
]
int32 0
boolean false
}
struct {
string "archive"
string "archive"
array [
]
int32 0
boolean false
}
struct {
string "recent"
string "recent"
array [
]
int32 0
boolean false
}
struct {
string "sftp"
string "sftp"
array [
string "ssh"
]
int32 22
boolean true
}
struct {
string "ftpis"
string "ftpis"
array [
]
int32 990
boolean true
}
struct {
string "cdda"
string "cdda"
array [
]
int32 0
boolean false
}
struct {
string "admin"
string "admin"
array [
]
int32 0
boolean false
}
]
method call time=1650435823.112028 sender=:1.130 -> destination=org.freedesktop.DBus serial=6 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',arg0='org.gtk.vfs.Daemon'"
method return time=1650435823.112039 sender=org.freedesktop.DBus -> destination=:1.130 serial=6 reply_serial=6
signal time=1650435823.176270 sender=:1.5 -> destination=(null destination) serial=121 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=ClientAdded
object path "/org/gnome/SessionManager/Client15"
method call time=1650435823.176561 sender=:1.130 -> destination=org.freedesktop.DBus serial=7 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RequestName
string "org.mate.Caja"
uint32 4
method return time=1650435823.176575 sender=org.freedesktop.DBus -> destination=:1.130 serial=7 reply_serial=7
uint32 3
method call time=1650435823.176835 sender=:1.130 -> destination=org.freedesktop.DBus serial=8 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
string "type='signal',sender='org.mate.Caja',interface='org.gtk.Actions',member='Changed',path='/org/mate/Caja'"
method return time=1650435823.176848 sender=org.freedesktop.DBus -> destination=:1.130 serial=8 reply_serial=8
method call time=1650435823.176852 sender=:1.130 -> destination=org.mate.Caja serial=9 path=/org/mate/Caja; interface=org.gtk.Actions; member=DescribeAll
method return time=1650435823.177000 sender=:1.19 -> destination=:1.130 serial=104 reply_serial=9
array [
dict entry(
string "quit"
struct {
boolean true
signature ""
array [
]
}
)
]
method call time=1650435823.177514 sender=:1.130 -> destination=org.freedesktop.DBus serial=10 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
string "type='signal',sender='org.mate.Caja',interface='org.gtk.Actions',member='Changed',path='/org/mate/Caja'"
method return time=1650435823.177526 sender=org.freedesktop.DBus -> destination=:1.130 serial=9 reply_serial=10
signal time=1650435823.178928 sender=org.freedesktop.DBus -> destination=:1.130 serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
string ":1.130"
signal time=1650435823.178943 sender=org.freedesktop.DBus -> destination=(null destination) serial=174 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string ":1.130"
string ":1.130"
string ""
signal time=1650435823.181084 sender=:1.5 -> destination=(null destination) serial=122 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=ClientRemoved
object path "/org/gnome/SessionManager/Client15"
signal time=1650435823.202409 sender=:1.20 -> destination=(null destination) serial=122 path=/org/mate/panel/applet/WindowListApplet/1; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
string "org.mate.panel.applet.Applet"
array [
dict entry(
string "SizeHints"
variant array [
int32 664
int32 0
]
)
]
array [
]
signal time=1650435823.204615 sender=:1.20 -> destination=(null destination) serial=123 path=/org/mate/panel/applet/WindowListApplet/4; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
string "org.mate.panel.applet.Applet"
array [
dict entry(
string "SizeHints"
variant array [
int32 1826
int32 0
]
)
]
array [
]
method call time=1650435823.301092 sender=:1.131 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method return time=1650435823.301107 sender=org.freedesktop.DBus -> destination=:1.131 serial=1 reply_serial=1
string ":1.131"
signal time=1650435823.301117 sender=org.freedesktop.DBus -> destination=(null destination) serial=175 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string ":1.131"
string ""
string ":1.131"
signal time=1650435823.301126 sender=org.freedesktop.DBus -> destination=:1.131 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string ":1.131"
method call time=1650435823.301363 sender=:1.131 -> destination=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',arg0='org.gtk.vfs.Daemon'"
method return time=1650435823.301373 sender=org.freedesktop.DBus -> destination=:1.131 serial=3 reply_serial=2
method call time=1650435823.301385 sender=:1.131 -> destination=org.freedesktop.DBus serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=StartServiceByName
string "org.gtk.vfs.Daemon"
uint32 0
method return time=1650435823.301389 sender=org.freedesktop.DBus -> destination=:1.131 serial=4 reply_serial=3
uint32 2
method call time=1650435823.301575 sender=:1.131 -> destination=org.freedesktop.DBus serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner
string "org.gtk.vfs.Daemon"
method return time=1650435823.301584 sender=org.freedesktop.DBus -> destination=:1.131 serial=5 reply_serial=4
string ":1.3"
method call time=1650435823.301741 sender=:1.131 -> destination=:1.3 serial=5 path=/org/gtk/vfs/mounttracker; interface=org.gtk.vfs.MountTracker; member=ListMountableInfo
method return time=1650435823.301961 sender=:1.3 -> destination=:1.131 serial=79 reply_serial=5
array [
struct {
string "davs+sd"
string "davs+sd"
array [
]
int32 0
boolean false
}
struct {
string "dav+sd"
string "dav+sd"
array [
]
int32 0
boolean false
}
struct {
string "google-drive"
string "google-drive"
array [
]
int32 0
boolean false
}
struct {
string "ftp"
string "ftp"
array [
]
int32 21
boolean true
}
struct {
string "afp-volume"
string "afp"
array [
]
int32 548
boolean true
}
struct {
string "http"
string "http"
array [
]
int32 0
boolean false
}
struct {
string "localtest"
string "localtest"
array [
]
int32 0
boolean false
}
struct {
string "davs"
string "davs"
array [
]
int32 0
boolean false
}
struct {
string "dav"
string "dav"
array [
]
int32 0
boolean false
}
struct {
string "computer"
string "computer"
array [
]
int32 0
boolean false
}
struct {
string "ftps"
string "ftps"
array [
]
int32 21
boolean true
}
struct {
string "trash"
string "trash"
array [
]
int32 0
boolean false
}
struct {
string "network"
string "network"
array [
]
int32 0
boolean false
}
struct {
string "afp-server"
string "afp"
array [
]
int32 548
boolean true
}
struct {
string "burn"
string "burn"
array [
]
int32 0
boolean false
}
struct {
string "dns-sd"
string "dns-sd"
array [
]
int32 0
boolean false
}
struct {
string "archive"
string "archive"
array [
]
int32 0
boolean false
}
struct {
string "recent"
string "recent"
array [
]
int32 0
boolean false
}
struct {
string "sftp"
string "sftp"
array [
string "ssh"
]
int32 22
boolean true
}
struct {
string "ftpis"
string "ftpis"
array [
]
int32 990
boolean true
}
struct {
string "cdda"
string "cdda"
array [
]
int32 0
boolean false
}
struct {
string "admin"
string "admin"
array [
]
int32 0
boolean false
}
]
method call time=1650435823.302284 sender=:1.131 -> destination=org.freedesktop.DBus serial=6 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',arg0='org.gtk.vfs.Daemon'"
method return time=1650435823.302295 sender=org.freedesktop.DBus -> destination=:1.131 serial=6 reply_serial=6
method call time=1650435823.378673 sender=:1.132 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method return time=1650435823.378685 sender=org.freedesktop.DBus -> destination=:1.132 serial=1 reply_serial=1
string ":1.132"
signal time=1650435823.378691 sender=org.freedesktop.DBus -> destination=(null destination) serial=176 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string ":1.132"
string ""
string ":1.132"
signal time=1650435823.378696 sender=org.freedesktop.DBus -> destination=:1.132 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string ":1.132"
method call time=1650435823.378802 sender=:1.132 -> destination=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner
string "org.guake3.RemoteControl"
method return time=1650435823.378812 sender=org.freedesktop.DBus -> destination=:1.132 serial=3 reply_serial=2
string ":1.126"
method call time=1650435823.378888 sender=:1.132 -> destination=:1.126 serial=3 path=/org/guake3/RemoteControl; interface=org.freedesktop.DBus.Introspectable; member=Introspect
method return time=1650435823.379197 sender=:1.126 -> destination=:1.132 serial=5 reply_serial=3
string "<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node name="/org/guake3/RemoteControl">
<interface name="org.freedesktop.DBus.Introspectable">
<method name="Introspect">
<arg direction="out" type="s" />
</method>
</interface>
<interface name="org.guake3.RemoteControl">
<method name="show_hide">
</method>
<method name="show">
</method>
<method name="show_from_remote">
</method>
<method name="hide">
</method>
<method name="hide_from_remote">
</method>
<method name="get_visibility">
<arg direction="out" type="i" />
</method>
<method name="fullscreen">
</method>
<method name="unfullscreen">
</method>
<method name="add_tab">
<arg direction="in" type="s" name="directory" />
</method>
<method name="close_tab">
</method>
<method name="select_tab">
<arg direction="in" type="i" name="tab_index" />
</method>
<method name="get_selected_tab">
<arg direction="out" type="i" />
</method>
<method name="get_selected_tablabel">
<arg direction="out" type="s" />
</method>
<method name="get_tab_count">
<arg direction="out" type="i" />
</method>
<method name="select_terminal">
<arg direction="in" type="i" name="term_index" />
</method>
<method name="get_selected_terminal">
<arg direction="out" type="i" />
</method>
<method name="get_term_count">
<arg direction="out" type="i" />
</method>
<method name="set_bgcolor">
<arg direction="in" type="s" name="bgcolor" />
</method>
<method name="set_fgcolor">
<arg direction="in" type="s" name="fgcolor" />
</method>
<method name="set_bgcolor_current_terminal">
<arg direction="in" type="s" name="bgcolor" />
</method>
<method name="set_fgcolor_current_terminal">
<arg direction="in" type="s" name="fgcolor" />
</method>
<method name="change_palette_name">
<arg direction="in" type="s" name="palette_name" />
</method>
<method name="reset_colors">
</method>
<method name="reset_colors_current">
</method>
<method name="get_tab_name">
<arg direction="in" type="i" name="tab_index" />
<arg direction="out" type="s" />
</method>
<method name="rename_tab_uuid">
<arg direction="in" type="s" name="tab_uuid" />
<arg direction="in" type="s" name="new_text" />
</method>
<method name="rename_tab">
<arg direction="in" type="i" name="tab_index" />
<arg direction="in" type="s" name="new_text" />
</method>
<method name="rename_current_tab">
<arg direction="in" type="s" name="new_text" />
</method>
<method name="show_about">
</method>
<method name="show_prefs">
</method>
<method name="quit">
</method>
<method name="get_gtktab_name">
<arg direction="in" type="i" name="tab_index" />
<arg direction="out" type="s" />
</method>
<method name="get_selected_uuidtab">
<arg direction="out" type="s" />
</method>
<method name="v_split_current_terminal">
</method>
<method name="h_split_current_terminal">
</method>
</interface>
</node>
"
method call time=1650435823.379409 sender=:1.132 -> destination=:1.126 serial=4 path=/org/guake3/RemoteControl; interface=(null); member=show_hide
method return time=1650435823.379904 sender=:1.126 -> destination=:1.132 serial=6 reply_serial=4
signal time=1650435823.392732 sender=org.freedesktop.DBus -> destination=:1.132 serial=6 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
string ":1.132"
signal time=1650435823.392750 sender=org.freedesktop.DBus -> destination=(null destination) serial=177 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string ":1.132"
string ":1.132"
string ""
signal time=1650435823.404885 sender=org.freedesktop.DBus -> destination=:1.131 serial=7 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
string ":1.131"
signal time=1650435823.404906 sender=org.freedesktop.DBus -> destination=(null destination) serial=178 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string ":1.131"
string ":1.131"
string ""
That's not quite what I was expecting to see. Is Guake is restarting when you run caja? When you invoke the bug, do your Guake terminals clear and reset?
It doesn't look like full restart but yes - Guake's tabs are completely cleared & reset. Other terminals like QTerminal remains untouched.
So, including the text entered into the tabs? Like what they'd look like after someone types a clear
?
Worse - as if I closed the tab and created a new one.
Alright yeah that's what it looks like from the dbus output. So, for whatever reason, running caja is fully closing and restarting Guake on your system, it's not just resetting tab names. I suspect there's some kind of script or action set up somewhere, because fully exiting and then starting up Guake again isn't a feature provided by Guake itself.
I have this bug in Ubuntu 22.04 after upgrading from 21.10. Every time I close and restart Guake or reboot system it resets all tabs names. It was fine on previous Ubuntu versions.
Having the same issue after updating to 22.04 ubuntu budgie
Tab names changing after closing and reopening guake is different from the original reporter's issue where they observe guake restarting when a seemingly unrelated program is launched
Having the same issue after updating to 22.04
Using Ubutntu PPA, version 3.9.0 seems working as expected.