Skip to content

flatpak-run invocations don't share IPC socket #210

@owtaylor

Description

@owtaylor

Visual Studio Code is designed to run as a single process within the session: if you run code /someproject and then code --new-window /some/other/project the idea is that the second invocation opens <dir>/vscode-<hash>-<version>.sock and asks the initial process to open the second window, where:

 <dir>: $XDG_RUNTIME_DIR if set, otherwise the VSCode userDataDir 
 <hash>: a truncated md5sum of userDataDir
 <version>: 1.54.2 or whatever

But with the Flatpak, every invocation of flatpak-run com.visualstudio.code gets a new temporary $XDG_RUNTIME_DIR created.

This makes alias code="flatpak run com.visualstudio.code" not work very well.

I don't have a great idea for a solution:

  • I've created a workaround wrapper script that uses flatpak ps and, if an existing process is found, flatpak enter - but flatpak enter is more a development facility then something to use in production.
  • If the wrapper script unset $XDG_RUNTIME_DIR, then the socket would be created within ~/.var/app/com.visualstudio.code/config/Code/, which might work OK. I don't think sharing the user data dir on a NFS home directory would work well anyways.
  • Some sort of Flatpak feature added to share $XDG_RUNTIME_DIR between flatpak run invocations?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions