Still getting the 'swdate-gui.ConnectionCheck' error

Still getting the ‘swdate-gui.ConnectionCheck’ error after following the guide:

By “the guide”, do you mean point 2 (“repeated Denied: sdwdate-gui.ConnectCheck notifications”) of the known issues section of the link you posted? Quick link:

Or are you referring to a different guide?

1 Like

Hi, yeah I followed all of the steps under Known Issues (2) but I still get bombed with the same notifications as before I followed the steps.

Could you share the output of the following commands, all run from dom0:

  • cat /etc/qubes/policy.d/80-whonix.policy
  • qvm-features kicksecure-18 (substitute in your template’s actual name in place of kicksecure-18 if necessary)
  • qvm-tags kicksecure-18 list (replace the VM name here as well if needed)

Also, is there a named disposable template involved here? If so, are you sure dom0 is fully up-to-date? (We recently fixed a bug where DispVMs based on named disposables that were in turn based on a Kicksecure 18 template weren’t being allowed to use sdwdate-gui properly.)

1 Like

user@dom0:~$ cat /etc/qubes/policy.d/80-whonix.policy

Do not modify this file, create a new policy file with a lower number in the

filename instead. For example 30-user.policy.

service arg source target action params

sdwdate-gui.Connect * @tag:sdwdate-gui-client @tag:sdwdate-gui-server allow autostart=no notify=no
sdwdate-gui.ConnectCheck * @tag:sdwdate-gui-client @tag:sdwdate-gui-server allow autostart=no notify=no

sdwdate-gui.Connect * @anyvm @anyvm deny
sdwdate-gui.ConnectCheck * @anyvm @anyvm deny

Legacy, all of these services should effectively be no-ops for fully updated

Whonix-Gateway and Whonix-Workstation qubes.

sdwdate.Connect * @tag:sdwdate-gui-client @tag:sdwdate-gui-server allow autostart=no notify=no
sdwdate.ConnectCheck * @tag:sdwdate-gui-client @tag:sdwdate-gui-server allow autostart=no notify=no

sdwdate.Connect * @anyvm @anyvm deny
sdwdate.ConnectCheck * @anyvm @anyvm deny

whonix.SdwdateStatus + @tag:anon-gateway @tag:anon-vm allow autostart=no notify=no
whonix.SdwdateStatus + @tag:anon-gateway @default deny notify=no
whonix.SdwdateStatus + @anyvm @anyvm deny

whonix.NewStatus * @tag:anon-vm @tag:anon-gateway allow autostart=no
whonix.NewStatus * @anyvm @anyvm deny

whonix.GatewayCommand +restart @tag:anon-gateway @tag:anon-vm allow autostart=no
whonix.GatewayCommand +stop @tag:anon-gateway @tag:anon-vm allow autostart=no
whonix.GatewayCommand +showlog @tag:anon-gateway @tag:anon-vm allow autostart=no
whonix.GatewayCommand * @anyvm @anyvm deny

Harden against potential IP leaks by not allowing a compromised

Whonix-Workstation to open files, URLs, or applications in VMs other than

Whonix-Workstation VMs (typically DispVMs).

qubes.OpenInVM * @tag:anon-vm @dispvm ask default_target=@dispvm
qubes.OpenInVM * @tag:anon-vm @tag:anon-vm ask
qubes.OpenInVM * @tag:anon-vm @default ask
qubes.OpenInVM * @tag:anon-vm @anyvm deny

qubes.OpenURL * @tag:anon-vm @dispvm ask default_target=@dispvm
qubes.OpenURL * @tag:anon-vm @tag:anon-vm ask
qubes.OpenURL * @tag:anon-vm @default ask
qubes.OpenURL * @tag:anon-vm @anyvm deny

qubes.StartApp * @tag:anon-vm @dispvm ask default_target=@dispvm
qubes.StartApp * @tag:anon-vm @tag:anon-vm ask
qubes.StartApp * @tag:anon-vm @default ask
qubes.StartApp * @tag:anon-vm @anyvm deny
user@dom0:~$

user@dom0:~$ qvm-features kicksecure-18
default-menu-items systemcheck.desktop firefox-esr.desktop pcmanfm-qt.desktop lxqt-config.desktop qterminal.desktop
menu-items browser-choice.desktop htop.desktop lxqt-config.desktop qubes-open-file-manager.desktop qterminal.desktop systemcheck.desktop sysmaint-panel.desktop
netvm-menu-items systemcheck.desktop qterminal.desktop
qrexec 1
kicksecure 1
os Linux
supported-service.qubes-network 1
supported-service.minimal-netvm 1
supported-service.updates-proxy-setup 1
supported-service.network-manager 1
supported-service.minimal-usbvm 1
supported-service.gui-agent-clipboard-wipe 1
supported-service.no-qubesincoming-cleanup 1
supported-service.meminfo-writer 1
supported-service.clocksync 1
supported-service.apparmor 1
apparmor 1
supported-service.pipewire 1
supported-service.qubes-firewall 1
supported-service.qubes-update-check 1
supported-service.qubes-updates-proxy 1
supported-service.crond 1
supported-rpc.qubes.GpgImportKey 1
supported-rpc.qubes.Filecopy 1
supported-rpc.qubes.RestoreById 1
supported-rpc.qubes.ShowInTerminal 1
supported-rpc.qubes.PostInstall 1
supported-rpc.qubes.USBAttach 1
supported-rpc.qubes.VMExec 1
supported-rpc.qubes.SuspendPostAll 1
supported-rpc.qubes.SuspendPreAll 1
supported-rpc.qubes.WaitForNetworkUplink 1
supported-rpc.qubes.WaitForRunningSystem 1
supported-rpc.qubes.SuspendPre 1
supported-rpc.qubes.OpenURL 1
supported-rpc.qubes.Restore 1
supported-rpc.qubes.DetachPciDevice 1
supported-rpc.qubes.SetMonitorLayout 1
supported-rpc.qubes.GetImageRGBA 1
supported-rpc.qubes.VMRootShell 1
supported-rpc.qubes.TemplateSearch 1
supported-rpc.qubes.VMExecGUI 1
supported-rpc.qubes.SetDateTime 1
supported-rpc.qubes.Backup 1
supported-rpc.qubes.SuspendPost 1
supported-rpc.qubes.PdfConvert 1
supported-rpc.qubes.InstallUpdatesGUI 1
supported-rpc.qubes.USB 1
supported-rpc.qubes.USBDetach 1
supported-rpc.qubes.WaitForSession 1
supported-rpc.qubes.SelectDirectory 1
supported-rpc.qubes.VMRootExec 1
supported-rpc.sdwdate-gui.ConnectCheck 1
supported-rpc.qubes.ResizeDisk 1
supported-rpc.qubes.SelectFile 1
supported-rpc.qubes.TemplateDownload 1
supported-rpc.qubes.VMShell 1
supported-rpc.qubes.Gpg 1
supported-rpc.qubes.GuiVMSession 1
supported-rpc.qubes.GetAppmenus 1
supported-rpc.qubes.GetDate 1
supported-rpc.qubes.StartApp 1
supported-rpc.qubes.OpenInVM 1
supported-rpc.qubes.RegisterBackupLocation 1
os-distribution kicksecure
os-distribution-like debian
os-version 18
qubes-agent-version 4.3
boot-mode.kernelopts.sysmaint boot-role=sysmaint systemd.unit=sysmaint-boot.target
boot-mode.kernelopts.unrestricted remove-sysmaint-qubes
boot-mode.kernelopts.user
boot-mode.default-user.sysmaint sysmaint
boot-mode.name.sysmaint PERSISTENT Mode - SYSMAINT Session
boot-mode.name.unrestricted PERSISTENT Mode - UNRESTRICTED Session
boot-mode.name.user PERSISTENT Mode - USER Session
boot-mode.active sysmaint
boot-mode.appvm-default user
gui 1
qubes-firewall 1
vmexec 1
template-name kicksecure-18
template-epoch 0
template-version 4.3.0
template-release 202512071252
template-reponame qubes-templates-community
template-buildtime 2025-12-07 13:11:59
template-installtime 2026-01-31 08:51:59
template-license GPLv3+
template-url http://www.qubes-os.org
template-summary Qubes OS template for kicksecure-18
template-description Qubes OS template for kicksecure-18.
updates-available
last-updates-check 2026-02-02 01:31:19
supported-feature.memory-hotplug 1
last-update 2026-02-02 01:31:19

user@dom0:~$ qvm-tags kicksecure-18 list
audiovm-dom0
created-by-dom0
guivm-dom0

Hmm, that looks mostly as expected except for the tags. Are you sure you have qubes-core-admin-addon-kicksecure installed in dom0? It’s installed by default on newer R4.3 installations, but maybe it’s missing if you removed it or if you installed from an early testing or release candidate ISO.

1 Like

qubes-core-admin-addon-kicksecure

is definitely installed as per the guide.

1 Like

“We recently fixed a bug where DispVMs based on named disposables that were in turn based on a Kicksecure 18 template weren’t being allowed to use sdwdate-gui properly.)”

I think it is related to this.

When I create oldskool service VMs (non-named disposable service vms) based on kicksecure-18 I don’t get bombed with the notifications

When I switch back to the contemporary service VMs (named disposable service VMs) the popups start again.

1 Like

I have gotten this working now.

I didn’t realise that I have to manually run the dom0 command from the guide each time I use kicksecure-based named disposable service VMs to stop the notification bombardment:

sudo systemctl restart qubesd.service

This one can be marked ‘Solved:user error’.

2 Likes

You shouldn’t need to… that’s odd. I’ll try to investigate a bit more.

1 Like