Package Details: cassowary 0.6-1

Git Clone URL: https://aur.archlinux.org/cassowary.git (read-only, click to copy)
Package Base: cassowary
Description: Run Windows Applications inside a VM on Linux as if they are native.
Upstream URL: https://github.com/casualsnek/cassowary
Keywords: cassowary python vm
Licenses: GPL2
Submitter: maltejur
Maintainer: None
Last Packager: maltejur
Votes: 2
Popularity: 0.000000
First Submitted: 2022-02-05 11:10 (UTC)
Last Updated: 2022-04-08 17:26 (UTC)

Latest Comments

trainzkid commented on 2025-02-16 22:02 (UTC) (edited on 2025-02-16 23:41 (UTC) by trainzkid)

Trying to get this working with very little luck...

guest-run command (which is used for .desktop entries) calls xfreerdp, but xfreerdp's binary on Arch is called xfreerdp3. Symbolically linking xfreerdp3 to xfreerdp (via ln --symbolic --verbose /bin/xfreerdp{3,}) at least allows the guest-run command to run, but it still fails. Next, it complains that flag /cert-ignore is unknown. Looking through the available flags for xfreerdp3, it looks like the flag has since changed to /cert ignore. If I swap /cert-ignore for /cert ignore, xfreerdp then complains about general syntax:

$USER@HOST ~> xfreerdp /d:"" /u:"$VM_USER" /p:"$VM_PW" /v:$VM_IP +clipboard /a:drive,root,/ +decorations /cert ignore /sound /scale:100 /dynamic-resolution /span  /wm-class:"cassowaryApp-brave.exe" /app:"C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe" /app-icon:"/usr/lib/python3.13/site-packages/cassowary/base/../gui/extrares/cassowary_app.png" /app-cmd:"%u "
[15:57:22:482] [35777:00008bc1] [WARN][com.freerdp.client.common.cmdline] - [freerdp_client_settings_parse_command_line_arguments_int]: Unsupported command line syntax!
[15:57:22:482] [35777:00008bc1] [WARN][com.freerdp.client.common.cmdline] - [freerdp_client_settings_parse_command_line_arguments_int]: FreeRDP 1.0 style syntax was dropped with version 3!

This error/complaint leads me to believe cassowary is quite a bit out of date (which doesn't surprise me, since the last commit was in 2022).

EDIT for anyone looking for help in the future like I was:

The command cassowary calls

xfreerdp /d:"" /u:"$VM_USER" /p:"$VM_PW" /v:$VM_IP +clipboard /a:drive,root,/ +decorations /cert ignore /sound /scale:100 /dynamic-resolution /span  /wm-class:"cassowaryApp-brave.exe" /app:"C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe" /app-icon:"/usr/lib/python3.13/site-packages/cassowary/base/../gui/extrares/cassowary_app.png" /app-cmd:"%u "

can be translated into:

xfreerdp3 /u:$VM_USER /p:$VM_PW /v:$VM_IP +clipboard /drive:/home/$USER/,$VM_SHARE_NAME /cert:ignore /sound +dynamic-resolution /span /app:program:$VM_APP_NAME

where:

  • $VM_USER is the username to log in as in the VM,

  • $VM_PW is the PW used to log into the VM,

  • $VM_IP is the LAN IP of the VM, such as 192.168.120.100,

  • $USER is the host/Arch linux user's username,

  • $VM_SHARE_NAME is the name you want the share to be called in the VM,

  • $VM_APP_NAME is the name of the app you want to run, such as brave for Brave browser, chrome for Chrome browser, or explorer for File Explorer

Other notes:

  • /d:"" is the domain, unnecessary if blank

  • /a:drive,root,/ (now just /drive:/path/to/dir/on/host,name_of_share), I couldn't get the root dir to work, not sure why, not even with sudo, but since /home/$USER works, I suspect it's a permissions issue

  • +decorations doesn't seem to exist anymore, because decorations are enabled by default (only related flag would be -decorations, which turns decorations off)

  • /wm-class: is to set the wm_class of the window on the host/linux side, I don't care about this really so I've ignored it for now, not sure what the new flag would be

  • /app-icon and /app-cmd have been rolled up into the /app: flag using the /app:program:$PATH,cmd:$CMD style syntax, though I don't really care about icons and stuff for my specific use case, and I couldn't tell any difference between using the %u command cassowary passed and not using it, so I just skipped it

  • The version of windows you use is mostly irrelevant, I installed tiny11-core and used it in the VM instead of cassowary's recommended win10 (10.9 GB total used with Brave installed!! That's TINY)

maltejur commented on 2022-04-08 17:28 (UTC)

@MajorMayer thanks, I added "libvirt-python" as a dependency. I don't think "virt-manager" is needed though, I think you can also use cassowary with plain qemu.

MajorMayer commented on 2022-04-08 10:17 (UTC) (edited on 2022-04-08 10:19 (UTC) by MajorMayer)

You should add "libvirt-python" as a dependency, otherwise you can't start the program. And i think "virt-manager" is also required to actually use the functionality.