修修startb
- 现在会自动清理临时服务了 - 能正常展开别名了(如~)
This commit is contained in:
19
bin/startb
19
bin/startb
@@ -4,7 +4,7 @@
|
|||||||
# PATH 不完整问题:
|
# PATH 不完整问题:
|
||||||
# 根据 niri 启动方式的不同,niri 读到的环境变量可能也不一样。
|
# 根据 niri 启动方式的不同,niri 读到的环境变量可能也不一样。
|
||||||
# - tty 进终端再 niri-session 拉起来大概是最完整的。毕竟已经加载 .xxxrc 了嘛。
|
# - tty 进终端再 niri-session 拉起来大概是最完整的。毕竟已经加载 .xxxrc 了嘛。
|
||||||
# - 而像我这样用 sddm 进的 niri,由于直接从 systemd-user 启动,中间也没有任何机会更新 PATH,相比就最麻烦了。
|
# - 而像我这样用 sddm 进的 niri,由于直接从 systemd 启动,中间也没有任何机会更新 PATH,相比就最麻烦了。
|
||||||
# 根据谷鸽 AI 的回答,我这种情况只能在 ~/.config/environment.d/ 里静态补上环境变量。
|
# 根据谷鸽 AI 的回答,我这种情况只能在 ~/.config/environment.d/ 里静态补上环境变量。
|
||||||
# 之前不懂的时候用的是如下的奇技淫巧:
|
# 之前不懂的时候用的是如下的奇技淫巧:
|
||||||
|
|
||||||
@@ -19,27 +19,22 @@ if [ $# -lt 1 ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CMD_NAME="${1##*/}"
|
UNIT_NAME="${1##*/}-$(date +%s%N)"
|
||||||
UNIT_NAME="${CMD_NAME}-$(date +%s%N)"
|
|
||||||
|
|
||||||
ENV_ARGS=(
|
ENV_ARGS=(
|
||||||
--setenv=PATH="$PATH"
|
--setenv=PATH="$PATH"
|
||||||
--setenv=PWD="$PWD"
|
--setenv=NVM_DIR="$NVM_DIR"
|
||||||
|
--setenv=NVM_BIN="$NVM_BIN"
|
||||||
)
|
)
|
||||||
|
|
||||||
[ -n "$NVM_DIR" ] && ENV_ARGS+=(--setenv=NVM_DIR="$NVM_DIR")
|
|
||||||
[ -n "$NVM_BIN" ] && ENV_ARGS+=(--setenv=NVM_BIN="$NVM_BIN")
|
|
||||||
|
|
||||||
systemd-run --user \
|
systemd-run --user \
|
||||||
"${ENV_ARGS[@]}" \
|
"${ENV_ARGS[@]}" \
|
||||||
--working-directory="$PWD" \
|
--working-directory="$PWD" \
|
||||||
--slice=StartProcess.slice \
|
--slice=StartProcess.slice \
|
||||||
--unit="$UNIT_NAME" \
|
--unit="$UNIT_NAME" \
|
||||||
--remain-after-exit \
|
|
||||||
--collect \
|
--collect \
|
||||||
-- "$@"
|
-- /bin/sh -c 'exec "$@"' _ "$@"
|
||||||
|
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
echo "📜 Logs : journalctl --user -u $UNIT_NAME -f"
|
echo "Logs : journalctl --user -u $UNIT_NAME -f"
|
||||||
echo "✅ Manage : systemctl --user stop $UNIT_NAME"
|
echo "Note : '$UNIT_NAME' will auto-destruct on exit."
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user