On Wed, Jan 30, 2019 at 01:46:21PM +0100, Jakub Janku wrote: > On Wed, Jan 30, 2019 at 1:23 PM Christophe Fergeau <cfergeau@xxxxxxxxxx> wrote: > > > > On most distros, spice-vdagent will be autostarted as part of the > > startup of the desktop environment session. This is done by > > spice-vdagent.desktop, which has no way of checking if we are in a virt > > environment with the needed devices present. > > > > Currently, if /dev/virtio-ports/com.redhat.spice.0 is missing, we log an > > error in syslog, and exit with an error exit code. This is too noisy > > when autostarting it on a bare metal machine which have no use for > > spice-vdagent. This reverts 0159111b to get rid of these warnings in the > > session's logs > > > > https://gitlab.freedesktop.org/spice/linux/vd_agent/issues/12 > > > > Signed-off-by: Christophe Fergeau <cfergeau@xxxxxxxxxx> > > --- > > Changes since v1: > > - switched to g_debug as g_print would show in journalctl > > Why is this wanted? What if the vdagent is running in a virtualized > system and the device is missing? In that case, I would expect to see > at least some info in the system journal. > So why not just lowering the log level to something like LOG_INFO? I don't know what the expectations are with respect to the amount of logging in the bare metal case. To be honest, we should not even be trying to load spice-vdagent in that situation. So logging anything is just going to be noise. Rather than silencing the warning, I tried to find other solutions, but I could not think of anything. We could say we don't want to try to run spice-vdagent if spice-vdagentd is not running, however these days spice-vdagentd is socket activated, and it's spice-vdagent which triggers the actual start of spice-vdagentd. Then I tried to make use of systemd user session support to start spice-vdagent rather than relying on /etc/xdg/autostart, however there were 2 issues that I'm not sure are going to be easy to solve: - the agent needs an X display, so we need to express in a systemd user unit that xorg needs to be running - I tried a unit file which tries to start spice-vdagent only if the needed device is present, but then spice-vdagentd fails to get the session info from systemd because spice-vdagent was not run in a 'user session' context I guess. We need to know if the spice-vdagent which is running is run by the user in the 'active seat', and I have no idea if this is compatible with systemd user units... At this point, I'd just go with this patch Christophe > > Cheers, > Jakub > > > - reworded the message > > > > src/vdagent/vdagent.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/src/vdagent/vdagent.c b/src/vdagent/vdagent.c > > index 90247f9..ff3328c 100644 > > --- a/src/vdagent/vdagent.c > > +++ b/src/vdagent/vdagent.c > > @@ -451,8 +451,8 @@ int main(int argc, char *argv[]) > > LOG_USER); > > > > if (file_test(portdev) != 0) { > > - syslog(LOG_ERR, "Cannot access vdagent virtio channel %s", portdev); > > - return 1; > > + g_debug("vdagent virtio channel %s does not exist, exiting", portdev); > > + return 0; > > } > > > > if (do_daemonize) > > -- > > 2.20.1 > > > > _______________________________________________ > > Spice-devel mailing list > > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > > https://lists.freedesktop.org/mailman/listinfo/spice-devel
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel