如何告知启动程序最小化?

这是一个一直困扰着我的问题。 您知道如何设置程序以在启动时运行吗? 好吧,我怎么能告诉它开始最小化,就像你在windows中做的那样?

TeamViewer开始打开,但我需要它最小化,而托盘 – 它似乎并不是一种优雅的方式。

您可以使用名为devilspie的工具 安装devilspie

该工具可以在程序启动后立即执行操作,例如发送到工作区,固定和最小化。 这是一个教程。

  • 要从命令行运行安装它:

sudo apt-get install devilspie

  • 要将其配置为每次执行时最小化Teamviewer:

     mkdir ~/.devilspie 

创建一个名为~/.devilspie/teamviewer.ds的文件并粘贴以下行:

 (if (is (application_name) "Teamviewer") (begin (minimize) ) ) 

如果你想要一个更容易配置的gui,你应该注意gdevilspie 安装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解决方案,所以这是启动团队查看器最小化的完整解决方案:

  1. 打开终端

  2. 安装devilspie包:

     apt-get install devilspie 
  3. 创建主文件夹:

     mkdir ~/.devilspie 
  4. 创建以下脚本(使用您想要的任何编辑器而不是nano ):

     nano ~/.devilspie/teamviewer.ds 
  5. 粘贴以下脚本并保存文件(对于nanoCTRL + x ,然后是Y ,然后是ENTER ):

     ( if ( begin ( is (application_name) "Teamviewer") ( is (window_name) "TeamViewer") ) ( begin (close) ) ) 
    1. 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