我不想放入一些应用程序$HOME/.config/autostart
并在每次登录时启动它们,而是想使用一个CASE
语句来定义哪些应用程序在哪一天启动(有些应用程序仅在工作日启动,其他应用程序仅在我有某些会议的日子启动,等等。 - 点是,我希望所有聊天和消息传递功能在我可以联系到的时候自动启动,而不是在周末时自动启动),所以我写了这样的内容:
DAYOFWEEK=$(date +"%u")
case $DAYOFWEEK in
(1|3|4) flatpak run com.discordapp.Discord && flatpak run com.slack.Slack;;
(2) flatpak run com.discordapp.Discord && flatpak run com.slack.Slack && flatpak run us.zoom.Zoom;;
(5) flatpak run com.discordapp.Discord;;
(6) echo nothing;;
(7) flatpak run com.slack.Slack;;
(*) echo day error;;
esac
# always start
flatpak run im.riot.Riot
flatpak run org.signal.Signal
两个问题:
我不想将其放入
.bashrc
并在每次打开新终端时发送命令来启动应用程序,那么最好将它放在哪里?.bash_profile
?相关应用程序均以 Flatpak 形式安装。当我将例程放入 中时
.bash_profile
,第一个应用程序在登录时启动,但阻止了其他任何应用程序的启动,并且在加载桌面之前,我必须在脚本启动时一次杀死一个应用程序。从命令行启动应用程序到后台时尝试插入&
命令会导致语法错误。让应用程序正常启动并且不干扰我的桌面的“常规”登录是否受到它们是 Flatpaks 的影响?无论如何,我应该如何启动它们?
谢谢
答案1
您可以~/.config/autostart
通过包装器来使用和影响它。看qemu(无 virt-manager/viewer)sdl 窗口全屏高分辨率
这意味着,编写一个包装器,将其放入~/bin
,更改.desktop
文件以调用您的包装器而不是原始的执行者钥匙。包装器将具有您想要的逻辑......