ubuntu - 如何使终端打开带有焦点的gui应用程序?

标签 ubuntu terminal ubuntu-14.04

我可能在这里吹毛求疵,但当我从终端打开 Chrome、Sublime Text 等应用程序时,如果我从终端打开它们时,终端无法打开它们,这真的很烦人。我做了类似的事情:-

shriek@ubuntu ~ $ subl . 

然后,如果我有多个应用程序在运行,我必须按 Alt + tab 来搜索该应用程序。它破坏了尝试从终端更快地访问我的应用程序的全部目的。

如果这种行为是有原因的,我能知道为什么会这样吗?还有可能的解决方法吗?

最佳答案

为此,我正在使用 wmctrl。 (您可以使用 sudo apt-get install wmctrl 安装它)

在您的 .bashrc 中添加以下行以打开并聚焦 Sublime Text:

alias subl="subl && wmctrl -a \"\$(wmctrl -l | grep subl | cut -f 1,2,3,4 -d ' ' --complement)\" 2>&1 >/dev/null"

wmctrl -l 扫描您的窗口并列出您可以切换到的应用程序。
wmctrl -a WINDOW_TITLE 专注于具有特定WINDOW_TITLE 的应用程序。
为了获得窗口标题,我使用 grep APP_NAMEcut 对其进行 grep 和格式化。

您可以将此别名用于所有其他应用程序,只需更改别名、启动应用程序的命令以及 grep 正在寻找的参数。例如:

alias chrome="google-chrome && wmctrl -a \"\$(wmctrl -l | grep Chrome | cut -f 1,2,3,4 -d ' ' --complement)\" 2>&1 >/dev/null"

关于ubuntu - 如何使终端打开带有焦点的gui应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25559720/

相关文章:

java - ubuntu 上的 Netbeans 主动打包 - 找不到 dpkg

python - 如何在 python 虚拟环境之外使用 Opencv?

zend-framework - Ubuntu 上的 Zend 配置

linux - 包含当前目录变量的 Bash 别名

android - 使用批处理文件停止 logcat

macos - 如何在 Mac OS 上使用 date 命令获取当前星期几?

linux - 在 Docker 容器中构建 make 用户时返回非零值 :error 9,

ubuntu - 通过 Ubuntu 软件安装软件包

r - 处理 GConf 错误 : No D-BUS daemon running error in Ubuntu 12. 0.4 LTS

java - 无法在 Android Studio 中添加 fragment 、XML、 Activity