New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apps do not open when starting VM from launcher #3533

Open
JPL1 opened this Issue Feb 4, 2018 · 15 comments

Comments

Projects
None yet
7 participants
@JPL1

JPL1 commented Feb 4, 2018

Qubes OS version:

4.0-rc4

Affected TemplateVMs:

Fedora-26 based AppVMs and TemplateVM


Steps to reproduce the behavior:

Click the Q icon top left. Select a non-running AppVM (eg Personal) from the dropdown and click Terminal.

Expected behavior:

AppVM starts and gnome-terminal opens

Actual behavior:

AppVM starts but gnome-terminal does not open. You have to select it again.

General notes:

Also happens with Fedora-26 Template VM, but not with Debian-9


Related issues:

@ThierryIT

This comment has been minimized.

Show comment
Hide comment
@JPL1

This comment has been minimized.

Show comment
Hide comment
@JPL1

JPL1 Feb 4, 2018

@ThierryIT No, it's different. #3522 is also a problem for me though.

JPL1 commented Feb 4, 2018

@ThierryIT No, it's different. #3522 is also a problem for me though.

@Simon-Davies

This comment has been minimized.

Show comment
Hide comment
@Simon-Davies

Simon-Davies Feb 10, 2018

I also have this issue on a fresh install of Qubes OS R4.0 RC4

I also have this issue on a fresh install of Qubes OS R4.0 RC4

@shunju

This comment has been minimized.

Show comment
Hide comment
@shunju

shunju Feb 13, 2018

Is this related to (or even the same as) #2449?

Also, I’ve been having the same problem with VMs based on debian-9 and multiple programs (most egregiously xfce4-terminal, thunar and Sublime Text). However, I’ve never experienced the problem with Firefox ESR.

shunju commented Feb 13, 2018

Is this related to (or even the same as) #2449?

Also, I’ve been having the same problem with VMs based on debian-9 and multiple programs (most egregiously xfce4-terminal, thunar and Sublime Text). However, I’ve never experienced the problem with Firefox ESR.

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Feb 13, 2018

Member

Do you see any errors in ~/.xsession-errors in dom0 and/or affected VMs?

Member

marmarek commented Feb 13, 2018

Do you see any errors in ~/.xsession-errors in dom0 and/or affected VMs?

@JPL1

This comment has been minimized.

Show comment
Hide comment
@JPL1

JPL1 Feb 18, 2018

Here is the output from ./xsession-errors

[dom0] qvm-run work gnome-terminal

generating cookie with syscall
generating cookie with syscall
generating cookie with syscall
generating cookie with syscall
xfce4-session: No SSH authentication agent found
gpg-agent[20794]: WARNING: "--write-env-file" is an obsolete option - it has no effect

(xfce4-session:20788): xfce4-session-WARNING **: gpg-agent returned no PID in the variables
gpg-agent[20795]: gpg-agent (GnuPG) 2.1.13 started

** (xfdesktop:20801): WARNING **: Thumbnailer failed calling GetFlavors
sys-firewall: Starting GUI
sys-net: Starting GUI (stubdomain)
vault: Starting GUI
sys-firewall: Sending monitor layout
sys-net: Starting GUI
vault: Sending monitor layout
sys-net: Sending monitor layout

(wrapper-2.0:20816): Gtk-WARNING **: Negative content width -3 (allocation 1, extents 2x2) while allocating gadget (node button, owner PulseaudioButton)

(domains.py:20852): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed

(devices.py:20873): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed
personal: Starting GUI
personal: Sending monitor layout
personal: Failed to send monitor layout: b'connect: No such file or directory\n'

(xfce4-terminal:20817): Gtk-WARNING **: Allocating size to GtkScrollbar 0x6277e024a910 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
work: Starting GUI
work: Sending monitor layout
work: Failed to send monitor layout: b'connect: No such file or directory\n'

Running qvm-run work gnome-terminal again starts the terminal.

No xsession-errors file was generated in work.

JPL1 commented Feb 18, 2018

Here is the output from ./xsession-errors

[dom0] qvm-run work gnome-terminal

generating cookie with syscall
generating cookie with syscall
generating cookie with syscall
generating cookie with syscall
xfce4-session: No SSH authentication agent found
gpg-agent[20794]: WARNING: "--write-env-file" is an obsolete option - it has no effect

(xfce4-session:20788): xfce4-session-WARNING **: gpg-agent returned no PID in the variables
gpg-agent[20795]: gpg-agent (GnuPG) 2.1.13 started

** (xfdesktop:20801): WARNING **: Thumbnailer failed calling GetFlavors
sys-firewall: Starting GUI
sys-net: Starting GUI (stubdomain)
vault: Starting GUI
sys-firewall: Sending monitor layout
sys-net: Starting GUI
vault: Sending monitor layout
sys-net: Sending monitor layout

(wrapper-2.0:20816): Gtk-WARNING **: Negative content width -3 (allocation 1, extents 2x2) while allocating gadget (node button, owner PulseaudioButton)

(domains.py:20852): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed

(devices.py:20873): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed
personal: Starting GUI
personal: Sending monitor layout
personal: Failed to send monitor layout: b'connect: No such file or directory\n'

(xfce4-terminal:20817): Gtk-WARNING **: Allocating size to GtkScrollbar 0x6277e024a910 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
work: Starting GUI
work: Sending monitor layout
work: Failed to send monitor layout: b'connect: No such file or directory\n'

Running qvm-run work gnome-terminal again starts the terminal.

No xsession-errors file was generated in work.

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Feb 18, 2018

Member

Verify that fedora-26 template have "qrexec" feature enabled. It should be done during installation, but maybe for some reason haven't:

qvm-features fedora-26

Should list gui and qrexec with value 1).
If not, enable this way:

qvm-features fedora-26 qrexec 1
qvm-features fedora-26 gui 1
Member

marmarek commented Feb 18, 2018

Verify that fedora-26 template have "qrexec" feature enabled. It should be done during installation, but maybe for some reason haven't:

qvm-features fedora-26

Should list gui and qrexec with value 1).
If not, enable this way:

qvm-features fedora-26 qrexec 1
qvm-features fedora-26 gui 1
@JPL1

This comment has been minimized.

Show comment
Hide comment
@JPL1

JPL1 Feb 20, 2018

Yes that worked

JPL1 commented Feb 20, 2018

Yes that worked

@andrewdavidwong

This comment has been minimized.

Show comment
Hide comment
@andrewdavidwong

andrewdavidwong Feb 21, 2018

Member

@JPL1: "Worked" in the sense that it resolved the main issue? @Simon-Davies, @shunju, does this also resolve the issue for you?

Member

andrewdavidwong commented Feb 21, 2018

@JPL1: "Worked" in the sense that it resolved the main issue? @Simon-Davies, @shunju, does this also resolve the issue for you?

@JPL1

This comment has been minimized.

Show comment
Hide comment
@JPL1

JPL1 Feb 21, 2018

@andrewdavidwong Yes it resolved the main issue. Applications now start without having to repeat the command

JPL1 commented Feb 21, 2018

@andrewdavidwong Yes it resolved the main issue. Applications now start without having to repeat the command

@shunju

This comment has been minimized.

Show comment
Hide comment
@shunju

shunju Feb 22, 2018

I haven’t mentioned before that I’m using a fresh install of 4.0-rc4.

Running qvm-features in dom0 I get:

[user@dom0 ~]$ qvm-features fedora-26
gui             1
qubes-firewall  1
qrexec          1
[user@dom0 ~]$ qvm-features debian 9
gui                1
updates-available
qubes-firewall     1
qrexec             1

Even after running

qvm-features debian-9 qrexec 1
qvm-features debian-9 gui 1

the problem persists.

~./xsession-errors in dom0:

uni: Starting GUI
uni: Sending monitor layout

~./xsession-errors in uni (based of course on debian-9):



X.Org X Server 1.19.2
Release Date: 2017-03-02
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.9.0-4-amd64 x86_64 Debian
Current Operating System: Linux uni 4.14.13-2.pvops.qubes.x86_64 #1 SMP Mon Jan 29 20:02:41 UTC 2018 x86_64
Kernel command line: root=/dev/mapper/dmroot ro nomodeset console=hvc0 rd_NO_PLYMOUTH rd.plymouth.enable=0 plymouth.enable=0 nopat
Build Date: 16 October 2017  08:19:45AM
xorg-server 2:1.19.2-1+deb9u2 (https://www.debian.org/support) 
Current version of pixman: 0.34.0
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/home/user/.local/share/xorg/Xorg.0.log", Time: Thu Feb 22 12:27:54 2018
(++) Using config file: "/etc/X11/xorg-qubes.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
Xsession: X session started for user at Thu Feb 22 12:27:54 CET 2018
dbus-update-activation-environment: setting DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
dbus-update-activation-environment: setting DISPLAY=:0
xsettingsd: Loaded 17 settings from /home/user/.xsettingsd
xsettingsd: Created window 0x200001 on screen 0 with timestamp 6689
xsettingsd: Selection _XSETTINGS_S0 is owned by 0x0
xsettingsd: Took ownership of selection _XSETTINGS_S0
localuser:user being added to access control list
dbus-update-activation-environment: setting QT_ACCESSIBILITY=1
dbus-update-activation-environment: setting QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1
OpenGL version: 3.
Warning:          Key <OUTP> not found in evdev+aliases(qwertz) keycodes
                  Symbols ignored
[…]
Warning:          Key <I255> not found in evdev+aliases(qwertz) keycodes
                  Symbols ignored
Warning:          No symbols defined for <AB11> (keycode 97)
[…]
Warning:          No symbols defined for <I253> (keycode 253)
dbus-update-activation-environment: setting MAIL=/var/mail/user
[…]
dbus-update-activation-environment: setting PWD=/home/user
** Message: couldn't access control socket: /run/user/1000/keyring/control: No such file or directory

(process:839): dconf-WARNING **: unable to open file '/etc/dconf/db/local': Failed to open file '/etc/dconf/db/local': open() failed: No such file or directory; expect degraded performance
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh

(process:862): dconf-WARNING **: unable to open file '/etc/dconf/db/local': Failed to open file '/etc/dconf/db/local': open() failed: No such file or directory; expect degraded performance
Activating service name='org.a11y.atspi.Registry'
Successfully activated service 'org.a11y.atspi.Registry'
Warning:          Key <OUTP> not found in evdev+aliases(qwertz) keycodes
                  Symbols ignored
[…]
Warning:          Key <I255> not found in evdev+aliases(qwertz) keycodes
                  Symbols ignored
Warning:          No symbols defined for <AB11> (keycode 97)
[…]
Warning:          No symbols defined for <I253> (keycode 253)

(nm-applet:860): dconf-WARNING **: unable to open file '/etc/dconf/db/local': Failed to open file '/etc/dconf/db/local': open() failed: No such file or directory; expect degraded performance

(nm-applet:860): nm-applet-WARNING **: NetworkManager is not running

Process 862 is /usr/lib/at-spi2-core/at-spi-bus-launcher --launch-immediately, process 839 does not exist.

shunju commented Feb 22, 2018

I haven’t mentioned before that I’m using a fresh install of 4.0-rc4.

Running qvm-features in dom0 I get:

[user@dom0 ~]$ qvm-features fedora-26
gui             1
qubes-firewall  1
qrexec          1
[user@dom0 ~]$ qvm-features debian 9
gui                1
updates-available
qubes-firewall     1
qrexec             1

Even after running

qvm-features debian-9 qrexec 1
qvm-features debian-9 gui 1

the problem persists.

~./xsession-errors in dom0:

uni: Starting GUI
uni: Sending monitor layout

~./xsession-errors in uni (based of course on debian-9):



X.Org X Server 1.19.2
Release Date: 2017-03-02
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.9.0-4-amd64 x86_64 Debian
Current Operating System: Linux uni 4.14.13-2.pvops.qubes.x86_64 #1 SMP Mon Jan 29 20:02:41 UTC 2018 x86_64
Kernel command line: root=/dev/mapper/dmroot ro nomodeset console=hvc0 rd_NO_PLYMOUTH rd.plymouth.enable=0 plymouth.enable=0 nopat
Build Date: 16 October 2017  08:19:45AM
xorg-server 2:1.19.2-1+deb9u2 (https://www.debian.org/support) 
Current version of pixman: 0.34.0
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/home/user/.local/share/xorg/Xorg.0.log", Time: Thu Feb 22 12:27:54 2018
(++) Using config file: "/etc/X11/xorg-qubes.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
Xsession: X session started for user at Thu Feb 22 12:27:54 CET 2018
dbus-update-activation-environment: setting DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
dbus-update-activation-environment: setting DISPLAY=:0
xsettingsd: Loaded 17 settings from /home/user/.xsettingsd
xsettingsd: Created window 0x200001 on screen 0 with timestamp 6689
xsettingsd: Selection _XSETTINGS_S0 is owned by 0x0
xsettingsd: Took ownership of selection _XSETTINGS_S0
localuser:user being added to access control list
dbus-update-activation-environment: setting QT_ACCESSIBILITY=1
dbus-update-activation-environment: setting QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1
OpenGL version: 3.
Warning:          Key <OUTP> not found in evdev+aliases(qwertz) keycodes
                  Symbols ignored
[…]
Warning:          Key <I255> not found in evdev+aliases(qwertz) keycodes
                  Symbols ignored
Warning:          No symbols defined for <AB11> (keycode 97)
[…]
Warning:          No symbols defined for <I253> (keycode 253)
dbus-update-activation-environment: setting MAIL=/var/mail/user
[…]
dbus-update-activation-environment: setting PWD=/home/user
** Message: couldn't access control socket: /run/user/1000/keyring/control: No such file or directory

(process:839): dconf-WARNING **: unable to open file '/etc/dconf/db/local': Failed to open file '/etc/dconf/db/local': open() failed: No such file or directory; expect degraded performance
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh

(process:862): dconf-WARNING **: unable to open file '/etc/dconf/db/local': Failed to open file '/etc/dconf/db/local': open() failed: No such file or directory; expect degraded performance
Activating service name='org.a11y.atspi.Registry'
Successfully activated service 'org.a11y.atspi.Registry'
Warning:          Key <OUTP> not found in evdev+aliases(qwertz) keycodes
                  Symbols ignored
[…]
Warning:          Key <I255> not found in evdev+aliases(qwertz) keycodes
                  Symbols ignored
Warning:          No symbols defined for <AB11> (keycode 97)
[…]
Warning:          No symbols defined for <I253> (keycode 253)

(nm-applet:860): dconf-WARNING **: unable to open file '/etc/dconf/db/local': Failed to open file '/etc/dconf/db/local': open() failed: No such file or directory; expect degraded performance

(nm-applet:860): nm-applet-WARNING **: NetworkManager is not running

Process 862 is /usr/lib/at-spi2-core/at-spi-bus-launcher --launch-immediately, process 839 does not exist.

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Feb 25, 2018

Member

Check also sudo journalctl -b -u qubes-qrexec-agent in that VM. Also lets try this:

  1. Shutdown the VM (I assume its name uni based on above log).
  2. Start in dom0: qvm-run --service -p -a uni qubes.StartApp+xfce4-terminal

See what it prints.

Member

marmarek commented Feb 25, 2018

Check also sudo journalctl -b -u qubes-qrexec-agent in that VM. Also lets try this:

  1. Shutdown the VM (I assume its name uni based on above log).
  2. Start in dom0: qvm-run --service -p -a uni qubes.StartApp+xfce4-terminal

See what it prints.

@shunju

This comment has been minimized.

Show comment
Hide comment
@shunju

shunju Mar 20, 2018

First off, I’m sorry for the late reply. In the meantime, I have updated my system to rc5.

I worked around the issue by autostarting the VM on boot and since then I didn’t have issues with this app VM. However, whenever I try to start the filemanager in a fedora-26-dvm, the filemanager doesn’t start and the app gets shutdown immediately after boot. (No logs from there, I suppose.)

Anyway, when I try to reproduce my issue with gnome-terminal (yes, I said it was xfce4-terminal, but I was mistaken), now the terminal usually does start. However, file manager (nautilus) still doesn’t start very often when invoked the first time.

Here is the log output from when I try to open the file manager when the VM is shutdown and it doesn’t work:

user@uni:~$ sudo journalctl -b -u qubes-qrexec-agent
-- Logs begin at Tue 2018-03-20 11:22:39 CET, end at Tue 2018-03-20 11:22:50 CET. --
Mar 20 11:22:43 uni systemd[1]: Starting Qubes remote exec agent...
Mar 20 11:22:43 uni systemd[1]: Started Qubes remote exec agent.
Mar 20 11:22:43 uni qrexec-agent[567]: executed user:QUBESRPC qubes.WaitForSession dom0 pid 619
Mar 20 11:22:43 uni qrexec-agent[567]: executed user:QUBESRPC qubes.SetMonitorLayout dom0 pid 640
Mar 20 11:22:43 uni qrexec-agent[619]: pam_unix(qrexec:session): session opened for user user by (uid=0)
Mar 20 11:22:43 uni qrexec-agent[640]: pam_unix(qrexec:session): session opened for user user by (uid=0)
Mar 20 11:22:43 uni qrexec-agent[567]: send exit code 0
Mar 20 11:22:43 uni qrexec-agent[567]: pid 640 exited with 0
Mar 20 11:22:43 uni qrexec-agent[567]: eintr
Mar 20 11:22:44 uni qrexec-agent[567]: send exit code 0
Mar 20 11:22:44 uni qrexec-agent[567]: pid 619 exited with 0
Mar 20 11:22:44 uni qrexec-agent[567]: eintr
Mar 20 11:22:44 uni su[896]: Successful su for user by root
Mar 20 11:22:44 uni su[896]: + ??? root:user
Mar 20 11:22:44 uni su[896]: pam_unix(su:session): session opened for user user by (uid=0)
Mar 20 11:22:44 uni qrexec-agent[567]: eintr

Here is one from when I try, but the filemanager does start. Afterwards, I open a terminal via the menu to print the log output:

-- Logs begin at Tue 2018-03-20 11:31:37 CET, end at Tue 2018-03-20 11:31:51 CET. --
Mar 20 11:31:40 uni systemd[1]: Starting Qubes remote exec agent...
Mar 20 11:31:40 uni systemd[1]: Started Qubes remote exec agent.
Mar 20 11:31:40 uni qrexec-agent[570]: executed user:QUBESRPC qubes.WaitForSession dom0 pid 618
Mar 20 11:31:40 uni qrexec-agent[618]: pam_unix(qrexec:session): session opened for user user by (uid=0)
Mar 20 11:31:40 uni qrexec-agent[570]: executed user:QUBESRPC qubes.SetMonitorLayout dom0 pid 662
Mar 20 11:31:40 uni qrexec-agent[662]: pam_unix(qrexec:session): session opened for user user by (uid=0)
Mar 20 11:31:41 uni qrexec-agent[570]: send exit code 0
Mar 20 11:31:41 uni qrexec-agent[570]: pid 662 exited with 0
Mar 20 11:31:41 uni qrexec-agent[570]: eintr
Mar 20 11:31:41 uni qrexec-agent[570]: send exit code 0
Mar 20 11:31:41 uni qrexec-agent[570]: pid 618 exited with 0
Mar 20 11:31:41 uni qrexec-agent[570]: eintr
Mar 20 11:31:41 uni su[894]: Successful su for user by root
Mar 20 11:31:41 uni su[894]: + ??? root:user
Mar 20 11:31:41 uni su[894]: pam_unix(su:session): session opened for user user by (uid=0)
Mar 20 11:31:41 uni qrexec-agent[570]: eintr
Mar 20 11:31:49 uni su[1005]: Successful su for user by root
Mar 20 11:31:49 uni su[1005]: + ??? root:user
Mar 20 11:31:49 uni su[1005]: pam_unix(su:session): session opened for user user by (uid=0)
Mar 20 11:31:49 uni qrexec-agent[570]: eintr

Here is one from starting gnome-terminal and succeeding:

user@uni:~$ sudo journalctl -b -u qubes-qrexec-agent
-- Logs begin at Tue 2018-03-20 11:22:39 CET, end at Tue 2018-03-20 11:22:50 CET. --
Mar 20 11:22:43 uni systemd[1]: Starting Qubes remote exec agent...
Mar 20 11:22:43 uni systemd[1]: Started Qubes remote exec agent.
Mar 20 11:22:43 uni qrexec-agent[567]: executed user:QUBESRPC qubes.WaitForSession dom0 pid 619
Mar 20 11:22:43 uni qrexec-agent[567]: executed user:QUBESRPC qubes.SetMonitorLayout dom0 pid 640
Mar 20 11:22:43 uni qrexec-agent[619]: pam_unix(qrexec:session): session opened for user user by (uid=0)
Mar 20 11:22:43 uni qrexec-agent[640]: pam_unix(qrexec:session): session opened for user user by (uid=0)
Mar 20 11:22:43 uni qrexec-agent[567]: send exit code 0
Mar 20 11:22:43 uni qrexec-agent[567]: pid 640 exited with 0
Mar 20 11:22:43 uni qrexec-agent[567]: eintr
Mar 20 11:22:44 uni qrexec-agent[567]: send exit code 0
Mar 20 11:22:44 uni qrexec-agent[567]: pid 619 exited with 0
Mar 20 11:22:44 uni qrexec-agent[567]: eintr
Mar 20 11:22:44 uni su[896]: Successful su for user by root
Mar 20 11:22:44 uni su[896]: + ??? root:user
Mar 20 11:22:44 uni su[896]: pam_unix(su:session): session opened for user user by (uid=0)
Mar 20 11:22:44 uni qrexec-agent[567]: eintr

To me, they all look the same. The only difference is

  • the exact PIDs,
  • the order of two lines, which does not correlate with whether or not the apps start and
  • whether one or two su events are logged (two when the filemanager succeeds and I then open the terminal and one when only the terminal succeeds).

So it seems, there is nothing logged when the start of the app fails.

As for the other command (qvm-run --service -p -a uni qubes.StartApp+xfce4-terminal) the situation is even more interesting. This never works for either (nautilus, gnome-terminal) and fails with a red

applications/nautilus.desktop not found in /home/user/.local/share:/usr/local/share:/usr/share

/usr/share seems to have everything and the kitchen’s sink. However, conspicuously absent are nautilus, gnome-terminal and subl/sublime_text. Maybe /usr/bin is missing in the GUI path, but I don’t know where this is set. Also, this wouldn’t explain why starting works only sometimes, works much more often than not for gnome-terminal and most of the time doesn’t work with nautilus.

I hope you are not as puzzled as I am.

shunju commented Mar 20, 2018

First off, I’m sorry for the late reply. In the meantime, I have updated my system to rc5.

I worked around the issue by autostarting the VM on boot and since then I didn’t have issues with this app VM. However, whenever I try to start the filemanager in a fedora-26-dvm, the filemanager doesn’t start and the app gets shutdown immediately after boot. (No logs from there, I suppose.)

Anyway, when I try to reproduce my issue with gnome-terminal (yes, I said it was xfce4-terminal, but I was mistaken), now the terminal usually does start. However, file manager (nautilus) still doesn’t start very often when invoked the first time.

Here is the log output from when I try to open the file manager when the VM is shutdown and it doesn’t work:

user@uni:~$ sudo journalctl -b -u qubes-qrexec-agent
-- Logs begin at Tue 2018-03-20 11:22:39 CET, end at Tue 2018-03-20 11:22:50 CET. --
Mar 20 11:22:43 uni systemd[1]: Starting Qubes remote exec agent...
Mar 20 11:22:43 uni systemd[1]: Started Qubes remote exec agent.
Mar 20 11:22:43 uni qrexec-agent[567]: executed user:QUBESRPC qubes.WaitForSession dom0 pid 619
Mar 20 11:22:43 uni qrexec-agent[567]: executed user:QUBESRPC qubes.SetMonitorLayout dom0 pid 640
Mar 20 11:22:43 uni qrexec-agent[619]: pam_unix(qrexec:session): session opened for user user by (uid=0)
Mar 20 11:22:43 uni qrexec-agent[640]: pam_unix(qrexec:session): session opened for user user by (uid=0)
Mar 20 11:22:43 uni qrexec-agent[567]: send exit code 0
Mar 20 11:22:43 uni qrexec-agent[567]: pid 640 exited with 0
Mar 20 11:22:43 uni qrexec-agent[567]: eintr
Mar 20 11:22:44 uni qrexec-agent[567]: send exit code 0
Mar 20 11:22:44 uni qrexec-agent[567]: pid 619 exited with 0
Mar 20 11:22:44 uni qrexec-agent[567]: eintr
Mar 20 11:22:44 uni su[896]: Successful su for user by root
Mar 20 11:22:44 uni su[896]: + ??? root:user
Mar 20 11:22:44 uni su[896]: pam_unix(su:session): session opened for user user by (uid=0)
Mar 20 11:22:44 uni qrexec-agent[567]: eintr

Here is one from when I try, but the filemanager does start. Afterwards, I open a terminal via the menu to print the log output:

-- Logs begin at Tue 2018-03-20 11:31:37 CET, end at Tue 2018-03-20 11:31:51 CET. --
Mar 20 11:31:40 uni systemd[1]: Starting Qubes remote exec agent...
Mar 20 11:31:40 uni systemd[1]: Started Qubes remote exec agent.
Mar 20 11:31:40 uni qrexec-agent[570]: executed user:QUBESRPC qubes.WaitForSession dom0 pid 618
Mar 20 11:31:40 uni qrexec-agent[618]: pam_unix(qrexec:session): session opened for user user by (uid=0)
Mar 20 11:31:40 uni qrexec-agent[570]: executed user:QUBESRPC qubes.SetMonitorLayout dom0 pid 662
Mar 20 11:31:40 uni qrexec-agent[662]: pam_unix(qrexec:session): session opened for user user by (uid=0)
Mar 20 11:31:41 uni qrexec-agent[570]: send exit code 0
Mar 20 11:31:41 uni qrexec-agent[570]: pid 662 exited with 0
Mar 20 11:31:41 uni qrexec-agent[570]: eintr
Mar 20 11:31:41 uni qrexec-agent[570]: send exit code 0
Mar 20 11:31:41 uni qrexec-agent[570]: pid 618 exited with 0
Mar 20 11:31:41 uni qrexec-agent[570]: eintr
Mar 20 11:31:41 uni su[894]: Successful su for user by root
Mar 20 11:31:41 uni su[894]: + ??? root:user
Mar 20 11:31:41 uni su[894]: pam_unix(su:session): session opened for user user by (uid=0)
Mar 20 11:31:41 uni qrexec-agent[570]: eintr
Mar 20 11:31:49 uni su[1005]: Successful su for user by root
Mar 20 11:31:49 uni su[1005]: + ??? root:user
Mar 20 11:31:49 uni su[1005]: pam_unix(su:session): session opened for user user by (uid=0)
Mar 20 11:31:49 uni qrexec-agent[570]: eintr

Here is one from starting gnome-terminal and succeeding:

user@uni:~$ sudo journalctl -b -u qubes-qrexec-agent
-- Logs begin at Tue 2018-03-20 11:22:39 CET, end at Tue 2018-03-20 11:22:50 CET. --
Mar 20 11:22:43 uni systemd[1]: Starting Qubes remote exec agent...
Mar 20 11:22:43 uni systemd[1]: Started Qubes remote exec agent.
Mar 20 11:22:43 uni qrexec-agent[567]: executed user:QUBESRPC qubes.WaitForSession dom0 pid 619
Mar 20 11:22:43 uni qrexec-agent[567]: executed user:QUBESRPC qubes.SetMonitorLayout dom0 pid 640
Mar 20 11:22:43 uni qrexec-agent[619]: pam_unix(qrexec:session): session opened for user user by (uid=0)
Mar 20 11:22:43 uni qrexec-agent[640]: pam_unix(qrexec:session): session opened for user user by (uid=0)
Mar 20 11:22:43 uni qrexec-agent[567]: send exit code 0
Mar 20 11:22:43 uni qrexec-agent[567]: pid 640 exited with 0
Mar 20 11:22:43 uni qrexec-agent[567]: eintr
Mar 20 11:22:44 uni qrexec-agent[567]: send exit code 0
Mar 20 11:22:44 uni qrexec-agent[567]: pid 619 exited with 0
Mar 20 11:22:44 uni qrexec-agent[567]: eintr
Mar 20 11:22:44 uni su[896]: Successful su for user by root
Mar 20 11:22:44 uni su[896]: + ??? root:user
Mar 20 11:22:44 uni su[896]: pam_unix(su:session): session opened for user user by (uid=0)
Mar 20 11:22:44 uni qrexec-agent[567]: eintr

To me, they all look the same. The only difference is

  • the exact PIDs,
  • the order of two lines, which does not correlate with whether or not the apps start and
  • whether one or two su events are logged (two when the filemanager succeeds and I then open the terminal and one when only the terminal succeeds).

So it seems, there is nothing logged when the start of the app fails.

As for the other command (qvm-run --service -p -a uni qubes.StartApp+xfce4-terminal) the situation is even more interesting. This never works for either (nautilus, gnome-terminal) and fails with a red

applications/nautilus.desktop not found in /home/user/.local/share:/usr/local/share:/usr/share

/usr/share seems to have everything and the kitchen’s sink. However, conspicuously absent are nautilus, gnome-terminal and subl/sublime_text. Maybe /usr/bin is missing in the GUI path, but I don’t know where this is set. Also, this wouldn’t explain why starting works only sometimes, works much more often than not for gnome-terminal and most of the time doesn’t work with nautilus.

I hope you are not as puzzled as I am.

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 24, 2018

Member

To me, they all look the same.

Yes.
You may also look into ~/.xsession-errors. There should be some info about starting qubes.StartApp service. But I'd first try with qvm-run (see below).

However, conspicuously absent are nautilus, gnome-terminal and subl/sublime_text.

Name of desktop file may be different than executable in /usr/bin. For example for gnome-terminal it is org.gnome.Terminal.desktop. So the call would be qvm-run --service -p -a uni qubes.StartApp+org.gnome.Terminal.

However, whenever I try to start the filemanager in a fedora-26-dvm, the filemanager doesn’t start and the app gets shutdown immediately after boot. (No logs from there, I suppose.)

Not all applications are compatible with DispVM, see #2581.

Member

marmarek commented Mar 24, 2018

To me, they all look the same.

Yes.
You may also look into ~/.xsession-errors. There should be some info about starting qubes.StartApp service. But I'd first try with qvm-run (see below).

However, conspicuously absent are nautilus, gnome-terminal and subl/sublime_text.

Name of desktop file may be different than executable in /usr/bin. For example for gnome-terminal it is org.gnome.Terminal.desktop. So the call would be qvm-run --service -p -a uni qubes.StartApp+org.gnome.Terminal.

However, whenever I try to start the filemanager in a fedora-26-dvm, the filemanager doesn’t start and the app gets shutdown immediately after boot. (No logs from there, I suppose.)

Not all applications are compatible with DispVM, see #2581.

@davex25

This comment has been minimized.

Show comment
Hide comment
@davex25

davex25 May 17, 2018

I've tried marmarek's suggested command, and I see

"bin/sh: /etc/qubes-rpc/qubes.StartApp: No such file or directory"

Seems this may have the same cause as another problem I just reported (#3906).

davex25 commented May 17, 2018

I've tried marmarek's suggested command, and I see

"bin/sh: /etc/qubes-rpc/qubes.StartApp: No such file or directory"

Seems this may have the same cause as another problem I just reported (#3906).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment