用于更改屏幕分辨率和运行程序的脚本?

Cor*_* G. 2 bash scripting ubuntu

我从来没有做过任何脚本(对Linux也是新手).我想要的是用户可以点击的图标,它执行以下操作:
1.将屏幕分辨率更改为640x480.
2.运行程序(让我们调用它/path/myprogram)
3.当程序终止时,将屏幕分辨率更改回1024x768.

显然有一种叫做"xrandr"的东西可能会做到这一点,但我不确定它是如何工作的.此外,屏幕现在设置为"颠倒",并且应该始终保持这种状态(我不知道这对于此脚本是否重要).

另外,我注意到在Ubuntu中,当点击脚本时,它会显示一个提示:"在终端中运行","显示","运行"等.有没有办法让它默认为"运行"所以这个提示根本没有显示?

非常感谢你.

[[编辑]]

我使用了一个脚本xrandr,它几乎可以工作.它的行为与转到首选项 - >监视器的行为不同.当我使用脚本更改为640x480时,屏幕右侧的一部分会被切断.此外,由于某种原因,它将刷新率更改为73Hz而不是60Hz(如果我尝试将"刷新率"从"首选项"更改为60Hz,则图像会变得有点失真).

我试图xrandr --prop 弄清楚发生了什么,常规的首选项 - >监视器方式和xrandr方式之间的唯一区别似乎是这一行:

   640x480        72.8     75.0     60.0* 
   640x480        72.8*    75.0     60.0  
Run Code Online (Sandbox Code Playgroud)

该部分的标题是(我认为这是一个标题?):

VGA1 connected 640x480+0+0 inverted (normal left inverted right x axis y axis) 0mm x 0mm
Run Code Online (Sandbox Code Playgroud)

数字似乎与刷新率相对应,但这并不能解释为什么图像会被切断/扭曲.

所以基本上,我不知道发生了什么,也不知道如何解决它.我需要将分辨率更改设置为与Preferences - > Monitors相同.

此外,就桌面图标而言,事实证明Ubuntu有一个叫做"启动器"的东西,效果很好.还是非常感谢.:)

Mik*_*kel 8

调整屏幕大小:

xrandr --size 640x480
Run Code Online (Sandbox Code Playgroud)

桌面图标:

[Desktop Entry]
Encoding=UTF-8
Name=My App
Comment=What the app does
Exec=programname
Icon=??
Terminal=false
Type=Application
StartupNotify=true
Categories=??
Run Code Online (Sandbox Code Playgroud)

并把它放入~/.local/share/applications/programname.desktop/usr/share/applications/programname.desktop.

有关完整详细信息,请参阅桌面条目规范桌面条目文