如何使用一个命令启动多个应用程序在特定的工作区中打开?

如何使用一个命令启动多个应用程序在特定的工作区中打开?

由于 Ubuntu没有保存和恢复桌面会话的选项在关闭计算机时,我想编写一个 shell 脚本,它有助于通过单个命令设置自定义工作区。我发现类似 问题在网上。但是,我尝试了 gDevilspie,但对这个应用程序完全不熟悉。我也不想使用 Compiz,因为过去我曾多次使用这个软件弄乱我的系统,体验非常糟糕。

我正在寻找一个干净的简单 shell 脚本,可以通过 Dash 作为命令调用。例如,“办公场景”命令将执行以下操作:

  • 开始原子工作区 1 中的编辑器
  • 开始终结者在工作区 1
  • 开始火狐工作区 3 中的浏览器
  • 开始松弛在工作区 4
  • 开始Trello(Chromium 应用程序快捷方式)在工作区 4
  • 开始日出日历(Chromium 应用程序快捷方式)在工作区 4

shell 脚本是实现此目标的正确方法吗?如果是,那么 shell 脚本应该是什么样的(到目前为止,我还没有编写 shell 脚本的经验)以及它应该在哪里通过 Dash 作为单个命令调用?

我非常感谢你的帮助。

答案1

一个命令启动多个应用程序

编写一个 shell 脚本:

#! /bin/bash
atom &
terminator &
firefox

将其保存为例如“myscript”,chmod a+x myscript并创建一个到开始菜单的快捷方式(取决于您使用的内容,只需在网上搜索如何执行此操作的说明)。

在特定工作区中打开应用程序

这有点棘手。假设你正在使用 GNOME Shell,请尝试这些说明.desktop文件绑定到特定工作区。如果可行,您可以定义哪些应用程序应从哪里启动。

编辑:wmctrl能够将程序发送到特定的工作区,例如

wmctrl -r :ACTIVE: -t 3 # sends the currently active window to workspace 3

您可以像这样组合

( firefox && wmctrl -r firefox -t 3 ) &
( atom && wmctrl -r atom -t 2 ) &

相关内容