Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature request]: 遵循 XDG 基本目录规范 #6255

Open
1 task done
SamLukeYes opened this issue Dec 8, 2024 · 2 comments
Open
1 task done

[Feature request]: 遵循 XDG 基本目录规范 #6255

SamLukeYes opened this issue Dec 8, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@SamLukeYes
Copy link

SamLukeYes commented Dec 8, 2024

相关问题

当我尝试用 Nix 打包 v2rayN 时,构建产物无法运行,因为它尝试在只读的安装目录下写入文件。

描述你希望的解决方案

在 Linux 平台上运行时,不要在安装目录下写入文件。建议遵循 XDG 基本目录规范,将配置文件写入用户可写的路径。参考:https://wiki.archlinuxcn.org/wiki/XDG_%E5%9F%BA%E6%9C%AC%E7%9B%AE%E5%BD%95

描述你所考虑的替代方案

AUR 上的 v2rayn-bin 采用了 chmod -R 0777 的方式绕过这个问题,但是这种打包方式不规范,在用 Nix 打包时也不可行。为了兼容以前的行为,也可以考虑仅在安装目录不可写时采用新的路径。

我确认已查询历史issues

@SamLukeYes SamLukeYes added the enhancement New feature or request label Dec 8, 2024
@2dust
Copy link
Owner

2dust commented Dec 8, 2024

v2rayN设计之初就是不准备打包的,没有安装目录的说法,直接按便携版方式随意拷贝,并且支持运行多个实例。
所以如果把配置文件放到统一的地方,上面说的这些功能都将受到影响。
你的建议是好的,但是没有计划按照linux的上面标准目录进行修改

@SamLukeYes
Copy link
Author

所以如果把配置文件放到统一的地方,上面说的这些功能都将受到影响。

其实如果完全遵循 XDG 规范,是可以通过运行时设置不同的环境变量来做到不同实例的配置文件互不影响的。虽然我不熟悉 .NET 开发,但看起来已经有第三方库实现对 XDG 目录的支持了,比如 Xdg.Directories。即使不把 XDG 目录作为首选,也希望能将其作为默认路径不可写时的替代方案吧。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants