如何告知启动程序最小化?
这是一个一直困扰着我的问题。 您知道如何设置程序以在启动时运行吗? 好吧,我怎么能告诉它开始最小化,就像你在windows中做的那样?
TeamViewer开始打开,但我需要它最小化,而托盘 – 它似乎并不是一种优雅的方式。
您可以使用名为devilspie的工具 。
该工具可以在程序启动后立即执行操作,例如发送到工作区,固定和最小化。 这是一个教程。
- 要从命令行运行安装它:
sudo apt-get install devilspie
。
-
要将其配置为每次执行时最小化Teamviewer:
mkdir ~/.devilspie
创建一个名为~/.devilspie/teamviewer.ds
的文件并粘贴以下行:
(if (is (application_name) "Teamviewer") (begin (minimize) ) )
如果你想要一个更容易配置的gui,你应该注意gdevilspie
(如果GDevilspie没有开始尝试修补一个 )。
在Ubuntu系统启动期间设置为自动启动时,我遇到了同样的问题,TeamViewer没有开始最小化,我偶然发现了这篇文章。
@MJB在1月27日16:02描述的方法对我来说非常合适(我正在运行Ubuntu 10.10 32位,所有更新都安装到此日期,使用teamviewer_linux_x32_v6.0.9224.deb)。
我没有遇到@misterben在2月14日18:50描述的故障。
我通过Ubuntu软件中心安装了GDevilspie,运行它,创建了一个新规则并设置了GDevilspie以在“Raw”选项卡中显示以下代码:
( if ( begin ( is ( application_name ) "Teamviewer" ) ( is ( window_name ) "TeamViewer" ) ) ( begin ( minimize ) ( println "match" ) ) )
devilspie守护程序设置为在系统启动期间自动启动,并且teamviewer设置为通过System – > Preferences – > Startup Applications自动启动(单击Add,command:teamviewer)。
如果TeamViewer的开发人员为linux集成一个启动最小化的开关,那将是很棒的…
谢谢MJB! 🙂
如果程序支持,则最小化程序取决于程序。 它还取决于程序是否在gui或命令行中有选项。 例如,vlc在首选项中有一个选项,可以最小化启动它。 但是它在命令行中也有一个选项来启动它最小化(如参数)。 最小化的选项也会根据程序的变化而变化。 一些程序可能是program -min
其他可能是program -systray
等。例如,validationTeamviewer在gui选项中有一个选项。 如果程序有命令行最小化参数,只需将其添加到启动管理器。
我也在启动时将Teamviewer最小化到托盘上,但我正在使用KDocker 。
sudo apt-get install kdocker
我的启动脚本是一行:
kdocker -n Teamviewer -i /opt/teamviewer/teamviewer/7/desktop/teamviewer.png -d 40 /usr/bin/teamviewer7 &
-
-n
是窗口的名称 -
-i
是图标文件 -
-d
是40秒的限制,之后如果找不到匹配的窗口,kdocker将放弃
自Teamviewer 8.0.20931以来,系统托盘function自动最小化。 但在Gnome经典中,它将创建Wine System Tray,我不知道,如何最小化它。 我尝试了脚本(保存为〜/ .devilspie / wine.ds):
( if ( begin ( is ( application_name ) "Wine" ) ( is ( window_name ) "Wine System Tray" ) ) ( begin ( minimize ) ( println "match" ) ) )
……但它不起作用
使用新的Teamviewer 8.0.20931 for Linux甚至登录到Linux登录界面工作 – 当没有用户尚未登录时。 但是一段时间后,当您登录和退出两次左右时 – 您无法连接到Teamviewer。 您需要通过命令行远程访问才能重新启动计算机 – 然后再次运行。
由于某种原因,Devilspie在我的系统中无法运行。 最终,我发现了一个替代品(不那么优雅)。我安装了wmctrl
:
sudo apt-get install wmctrl
使用wmctrl -l
找到了windows的名称,我想在启动时关闭。 之后,将这些命令放入脚本中(创建新的空文件并将其命名.<...>.sh
。点在名称的开头隐藏它):
wmctrl -c wmctrl -c wmctrl -c
最后,在目标之后几秒钟将此文件添加到启动应用程序。
请注意,此命令会关闭窗口。 要在不同的工作区上启动程序最小化,请在程序手册中找到适当的选项。
2017工作解决方案!
我来自Manjaro(XFCE)版本,但由于这是与devilspie的跨linux解决方案,所以这是启动团队查看器最小化的完整解决方案:
-
打开终端
-
安装
devilspie
包:apt-get install devilspie
-
创建主文件夹:
mkdir ~/.devilspie
-
创建以下脚本(使用您想要的任何编辑器而不是
nano
):nano ~/.devilspie/teamviewer.ds
-
粘贴以下脚本并保存文件(对于
nano
– CTRL + x ,然后是Y ,然后是ENTER ):( if ( begin ( is (application_name) "Teamviewer") ( is (window_name) "TeamViewer") ) ( begin (close) ) )
- 从
devilspie
角度来看,所有步骤都已完成,但每次启动时仍会显示“计算机和联系人”侧窗口。 要隐藏它,请打开:
- 从
TeamViewer – >其他 – >选项 – >高级 – >“显示高级选项” – >“启动时显示计算机和联系人” (位于“计算机和联系人的高级设置”部分下)并取消选中它。
适用于TeamViewer 12的步骤。 在进一步的版本中,它们可能不同。
注意:
在devilspie脚本中使用(最小化)而不是(关闭)让我“TeamViewer没准备好。请检查您的连接”错误,如果没有团队查看器服务重启,它就无法正常工作。
在新版本中,程序已经在托盘中有一个图标,但程序的两个主窗口在启动时出现。 所以我正在使用这个脚本
#! /bin/sh /opt/teamviewer/tv_bin/TeamViewer & sleep 10 TV_WIN_ID=$(xdotool search --name TeamViewer) TV_WIN_ID2=$(xdotool search --name 'Компьютеры и контакты') if [ -n "$TV_WIN_ID" ] ; then sleep 1 xdotool windowactivate $TV_WIN_ID xdotool key Alt+F4 else exit 1 fi if [ -n "$TV_WIN_ID2" ] ; then sleep 1 xdotool windowactivate $TV_WIN_ID2 xdotool key Alt+F4 else exit 1 fi