Bottles icon indicating copy to clipboard operation
Bottles copied to clipboard

[Bug]: Unsupported operand types when launching from shortcut

Open nicolandu opened this issue 6 months ago • 1 comments

Describe the bug

When launching a program using a desktop shortcut generated by Bottles, a TypeError is generated and Bottles crashes. However, the same program can be launched from Bottles' GUI.

The output when the same command as the shortcut is run manually is available in the Troubleshooting Logs section of this bug report.

Contents of the .desktop file:

[Desktop Entry]
Name=NEXXT
Exec=flatpak run --command=bottles-cli com.usebottles.bottles run -p NEXXT -b 'Apps' -- %u
Type=Application
Terminal=false
Categories=Application;
Icon=/home/<username censored>/.var/app/com.usebottles.bottles/data/bottles/bottles/Apps/icons/NEXXT.png
Comment=Launch NEXXT using Bottles.
StartupWMClass=NEXXT
Actions=Configure;
[Desktop Action Configure]
Name=Configure in Bottles
Exec=flatpak run com.usebottles.bottles -b 'Apps'

To Reproduce

  1. Create a new 'Applications' bottle.
  2. Add a shortcut within the bottle to an EXE file.
  3. Allow generation of desktop shortcuts using flatpak override com.usebottles.bottles --user --filesystem=xdg-data/applications.
  4. Run the desktop shortcut: nothing happens.
  5. Run the [Desktop Entry]'s Exec command. A TypeError is raised and Bottles crashes.

Package

Flatpak from Flathub

Distribution

Debian 12

Debugging Information

Official Package: true
Version: '51.10'
DE/WM: gnome
Display:
    X.org: true
    X.org (port): :1
    Wayland: false
Graphics:
    vendors:
        nvidia: &amp;id002
            vendor: nvidia
            envs:
                __NV_PRIME_RENDER_OFFLOAD: '1'
                __GLX_VENDOR_LIBRARY_NAME: nvidia
                __VK_LAYER_NV_optimus: NVIDIA_only
            icd: /usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/nvidia_icd.json
            nvngx_path: /usr/lib/x86_64-linux-gnu/GL/nvidia-525-147-05/extra/nvidia/wine
        intel: &amp;id001
            vendor: intel
            envs:
                DRI_PRIME: '1'
            icd: /usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/intel_hasvk_icd.x86_64.json:/usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/intel_icd.x86_64.json:/usr/lib/i386-linux-gnu/GL/vulkan/icd.d/intel_icd.i686.json:/usr/lib/i386-linux-gnu/GL/vulkan/icd.d/intel_hasvk_icd.i686.json
    prime:
        integrated: *id001
        discrete: *id002
Kernel:
    Type: Linux
    Version: 6.1.0-17-amd64
Disk:
    Total: 8192823296
    Free: 8192638976
RAM:
    MemTotal: 15.3GiB
    MemAvailable: 11.2GiB
Bottles_envs: null

Troubleshooting Logs

flatpak run --command=bottles-cli com.usebottles.bottles run -b Apps -p NEXXT
20:15:33 (INFO) Forcing offline mode
Traceback (most recent call last):
  File "/app/bin/bottles-cli", line 652, in <module>
    cli = CLI()
          ^^^^^
  File "/app/bin/bottles-cli", line 150, in __init__
    self.__process_args()
  File "/app/bin/bottles-cli", line 199, in __process_args
    self.run_program()
  File "/app/bin/bottles-cli", line 574, in run_program
    _args = program.get("arguments", "") + " " + _args
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

Additional context

No response

nicolandu avatar Jan 21 '24 01:01 nicolandu

Duplicate of https://github.com/bottlesdevs/Bottles/issues/3210 and https://github.com/bottlesdevs/Bottles/issues/3226 and was fixed with https://github.com/bottlesdevs/Bottles/pull/3211. I guess the fix will be available in future release.

mentos1386 avatar Feb 09 '24 21:02 mentos1386