首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我登录到运行SDDM的Lubuntu时,在哪里放置要运行的命令?

当我登录到运行SDDM的Lubuntu时,在哪里放置要运行的命令?
EN

Unix & Linux用户
提问于 2020-03-31 18:09:21
回答 3查看 2K关注 0票数 1

我在试着在终端机上做壁纸。剧本是:

代码语言:javascript
复制
pcmanfm-qt --set-wallpaper=$(ls /home/$USER/.local/share/wallpapers/*/* | shuf -n1)

这会改变壁纸,但我希望每次登录时都能自动运行。

尝试将此脚本放入一些合适的文件中,如/etc/X11/xinit/xinitrc,如果我按预期的方式运行该文件,但在登录时不会发生任何事情。

有什么帮助吗?我每次登录时都要在哪里运行这一行?(最好放在我的用户文件夹下,而不是全局)

我使用Lubuntu19.10和简单的桌面显示管理器(SDDM)。

EN

回答 3

Unix & Linux用户

发布于 2020-04-01 04:46:04

因为它是SDDM:

sddm.conf的主页上,

启动用户会话时要执行的脚本的SessionCommand=路径。此脚本在所选会话的".desktop“文件中接收"Exec”设置的值并运行它。默认值为"/etc/sddm/Xsession“。

所以创建这个文件,或者修改sddm.conf并添加您自己的文件,然后尝试在这个文件中做一些事情。

为了调试目的,通过将输出重定向到/tmp/中的某个文件作为日志文件是一种有用的技术。

因此,作为第一步,尝试如下

代码语言:javascript
复制
echo "Session file executed" >> /tmp/my.log

在你登录的时候看看这能不能起什么作用。然后尝试添加壁纸命令。

票数 2
EN

Unix & Linux用户

发布于 2021-05-19 14:51:54

sddm.conf指定几个节,其中您需要[Wayland]节的'SessionCommand'参数。默认脚本位于"/etc/sddm/wayland-session"中,它在用户的主目录中检查并获取以下脚本文件:

按顺序:

代码语言:javascript
复制
$HOME/.bash_profile, $HOME/.bash_login, $HOME/.profile.

您应该能够将您的壁纸设置命令放在您的主目录中的这三个文件中的任意一个中,以便在登录时激活它。

注意:从技术上讲,我使用的是Ubuntu,而不是Lubuntu,所以可能存在系统差异,但这应该是两个发行版的默认内容。

票数 1
EN

Unix & Linux用户

发布于 2020-03-31 19:21:23

下面是我找到的一篇文章:https://smallbusiness.chron.com/run-command-startup-linux-27796.html

  1. 将命令放在crontab文件中。Linux中的crontab文件是一个守护进程,它在特定的时间和事件中执行用户编辑的任务。要编辑该文件,请打开一个终端并键入"sudo -e“以在默认文本编辑器中打开crontab文件。在第一个可用行中,键入"@reboot xxxx",其中"xxxx“是您希望运行的命令。保存文件并退出。
  2. 在/etc目录中放置一个包含命令的脚本。使用您最喜欢的文本编辑器创建一个脚本,如"startup.sh“。将文件保存在/etc/init.d/目录中。通过键入"chmod +x /etc/init.d/mystartup.sh“更改脚本的权限(使其可执行)。
  3. 使用文本编辑器编辑/rc.local脚本。在lubuntu,它位于/etc/rc.local。一旦添加了希望运行的命令--确保以root用户的身份运行--保存文件并退出。这些命令将在下一次启动后运行。
票数 -1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/577139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档