如何在桌面会话开始之前运行 shell 脚本?

如何在桌面会话开始之前运行 shell 脚本?

我希望我的系统以 1366x768 分辨率运行。请注意,开源驱动程序无法检测到此分辨率。因此我创建了一个如下的 bash 脚本:-

xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync xrandr --addmode DVI-0 1368x768_60.00
xrandr --output DisplayPort-0 --off --output DVI-0 --mode 1368x768_60.00 --pos 0x0 --rotate normal --output HDMI-0 --off

并将其保存为 /usr/bin 中的 lightdmxrandr.sh,并使其可执行。/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf,我添加了以下几行:-

问候语会话 = unity-greeter
显示设置脚本 = / usr/bin/lightdmxrandr.sh
会话设置脚本 = / usr/bin/lightdmxrandr.sh

现在我保存了文件并重新启动了我的 PC。我的登录屏幕分辨率为 1366x768。于是我高兴地输入了密码并按下了回车键。但是当我的桌面启动时,我没有 1366x768 的分辨率!我尝试在运行级别运行上述脚本。但没用。事实上,登录屏幕的分辨率也没有改变!所以我需要知道在桌面会话开始之前必须做什么才能使该脚本运行。 提前致谢。

附言:-我有一个ATI Radeon 5570 高清图形卡。我正在使用AMD 红木开源驱动程序。我知道我可以从 AMD 网站使用 AMD 专有驱动程序获得 1368x768 分辨率。但我更喜欢使用开源驱动程序。如果你有耐心,请阅读问题。上述问题源于该问题引发的问题。另请注意,我使用的是 Ubuntu 14.04,但这个问题并不是太“特定于 14.04”。

答案1

您可以在会话开始时立即执行脚本,而不是在会话开始前执行脚本。对于最终用户来说,这没有什么区别,因为脚本在您看到会话时就已经开始执行了。步骤如下。

  1. 创建一个shell脚本并为其提供必要的权限。

  2. startup applications根据您的操作系统,通过在 dash 或菜单中搜索来打开。

  3. 点击Add在此处输入图片描述

  4. 给出一个名称并添加命令,这将是脚本的位置。您还可以添加可选的注释。
    在此处输入图片描述

  5. 单击添加,确保选择了脚本,然后关闭窗口。

下次启动时将执行该脚本。

答案2

~/.xprofile您可以在或中创建文件/etc/X11/Xsession.d/

注意,xprofile如果您没有使用您指定的显示器进行启动,那么您会看到一个带有该方法的弹出窗口。

相关内容