首页
学习
活动
专区
圈层
工具
发布

问题
EN

Ask Ubuntu用户
提问于 2019-10-19 06:15:10
回答 1查看 345关注 0票数 0

我对此非常陌生,所以我希望不要冒犯。我正试图为我的HTPC (家庭影院PC)创建Desktop.desktop图标。每个图标,一旦按下,应该打开URL和最大化的屏幕。下面的代码可以做到这一点,但是xdotool并没有最大化。但是,当我在终端上运行我的xdotool时,就能工作了!我假设代码在打开URL和最大化之间需要某种延迟?

代码语言:javascript
复制
[Desktop Entry]
Name=YouTube
Type=Link
URL=https://www.youtube.com/
Comment Terminal=false
Icon=/home/babak/Myicons/YouTube.png
Exec=xdotool search "google chrome" windowactivate --sync key F11

提前谢谢。

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2019-10-19 12:24:31

一个.desktop文件将打开一个URL,或者运行一个命令,但不能同时运行这两个命令。要让它打开URL并对创建的窗口执行一些操作,请将这两个操作组合在exec =行中。

有两种方法可以组合Exec =行上的两个操作。

  1. 使用诸如sh -c "command 1; command 2". This is a way to pass two commands through a single command: anExec=`行之类的构造将多个命令传递给您的shell,只处理一个命令。
  2. 创建一个包含所需命令的bash脚本,并在您的Exec=行中调用该bash脚本。

因此,删除行URL=,并将Exec=行更改为

代码语言:javascript
复制
sh -c 'google-chrome https://www.youtube.com/ && xdotool search "google chrome" windowactivate --sync key F11'

您可以用sh代替bash。您也可以使用&&代替;,但是前者将确保只有在成功执行第一个命令时才能执行xdotool命令。

如果出现时间问题,请尝试插入pauze。

代码语言:javascript
复制
...&& sleep 0.3 && xdotool

在执行xdotool之前等待0.3秒。xdotool还有一个内置的睡眠命令,所以&& xdotool sleep 0.3 search也应该这样做。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1182046

复制
相关文章

相似问题

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