小编Tho*_*och的帖子

~/.local/bin 是如何开始的?它有多普遍?

我发现越来越多的工具将可执行文件放入 ~/.local/bin。我老了,对我来说 ~/bin 是我的 $HOME 中可执行文件的地方。

这种疯狂的新时尚起源于哪里?人们为什么要这样做?它有多普遍?它在任何地方正式化吗?它不在 XDG 目录规范中。

有一个相关的问题: 哪些发行版在 $PATH 中有 $HOME/.local/bin?

对另一个问题的评论指的是https://www.python.org/dev/peps/pep-0370,它在 2008 年就已经有了: Why did this program install into ~/.local/bin ... thats the first我见过这种情况发生的时间吗?

fhs path executable home xdg-user-dirs

28
推荐指数
1
解决办法
2653
查看次数

如何在会话范围内启动服务(或目标)?

我使用 systemd 启动桌面会话的大部分进程:xmonad(窗口管理器)、emacs 守护进程、tmux 会话等。

\n\n

列出我的用户进程,loginctl user-status因此仅显示会话下的少数进程:

\n\n
  Unit: user-1000.slice\n        \xe2\x94\x9c\xe2\x94\x80session-5.scope\n        \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x804740 lightdm --session-child 13 16\n        \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x805047 systemctl --user --wait start xmonad-systemd-session.target\n        \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x805497 /usr/bin/ssh-agent /usr/bin/im-launch xmonad-systemd-session\n        \xe2\x94\x94\xe2\x94\x80user@1000.service\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的几乎所有进程都在下面的会话之外运行user@1000.service。这意味着loginctl session-status从 tmux 运行会给出:

\n\n
Could not get properties: Caller does not belong to any known session\n
Run Code Online (Sandbox Code Playgroud)\n\n

我想告诉 systemd 在特定的登录会话下启动某些服务。理想情况下,在我的会话启动脚本中我会编写:

\n\n
exec systemctl --user --wait \\\n    --scope $MY_DESKTOP_SESSION start xmonad-systemd-session.target\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是没有--scope选择,我也不知道如何获取范围名称。

\n\n

我在 Debian-ish(内部)发行版上使用 libpam-systemd 和 dbus-user-session 运行 …

pam systemd

6
推荐指数
1
解决办法
2984
查看次数

在计算机之间同步 gnome 3(面板)设置

我想在计算机之间同步我的 gnome 面板的配置并将配置保留在 Git 中。如何转储/导入必要的信息?我已经找到gconftool2 --dump但没有找到任何看起来像我的面板配置的东西。

更新:我使用 gnome3 经典模式(连同 xmonad 作为窗口管理器)。我在 org.gnome.gnome-panel.layout 下的 dconf-editor 中找到了配置设置。然而,想出正确的 shell 脚本来提取和同步我想要共享的配置仍然很麻烦。

我在 gnome bugzilla 中为 dconf 同步工具打开了一个愿望清单问题:710930

gnome-panel gnome3 dconf gnome-classic gsettings

5
推荐指数
1
解决办法
2429
查看次数