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


Answers:


21

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

该程序可以在程序启动后立即采取措施,例如发送到工作区,固定和最小化。教程在这里

  • 要从命令行运行安装:

sudo apt-get install devilspie

  • 对其进行配置以最小化每次执行时的Teamviewer:

    mkdir ~/.devilspie

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

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

如果您希望使用gui进行更轻松的配置,则应注意gdevilspie 安装gdevilspie

(如果GDevilspie无法启动,请尝试打补丁)。


1
这可行,但是当我还原最小化的窗口时,它绘制不正确-TeamViewer窗口的背景成为其下面内容的副本,并且一些文本不可见,例如i.imgur.com/0p6yR.png(我已经遮挡了三个文本框中的文本)。其他wine应用程序则不这样做(Notepad ++,Picasa)。
misterben 2011年

5

我偶然发现了与同一问题TeamViewer一样的问题,当在Ubuntu系统启动期间设置为自动启动时,TeamViewer的启动没有最小化。
@MJB在1月27日16:02所描述的方法对我来说是完美的(我正在运行Ubuntu 10.10 32bit,到目前为止已安装所有更新,并带有teamviewer_linux_x32_v6.0.9224.deb)。
我没有遇到@misterben在2月14日18:50所描述的故障。
我通过Ubuntu软件中心安装了GDevilspie,运行它,创建了一个新规则,并设置了GDevilspie以在“原始”选项卡中显示以下代码:

( if 
( begin 
( is ( application_name ) "Teamviewer" )
( is ( window_name ) "TeamViewer" )
) 
( begin 
( minimize )
( println "match" )
)
)

devilspie守护程序设置为在系统启动期间自动启动,而teamviewer设置为通过系统->首选项->启动应用程序自动启动(单击添加,命令:teamviewer)。

不过,如果TeamViewer的开发人员将为Linux集成启动最小化开关,那将是很好的……

谢谢MJB!:)


4

最小化程序取决于该程序是否支持。它还取决于程序在gui中还是通过命令行具有选项。例如,vlc在首选项中有一个选项,可以最小化启动它的机会。但是它在命令行中也有一个选项可以最小化启动它(如参数)。最小化选项也会根据程序而变化。有些程序可能是program -min其他程序,可能是program -systray等等,等等。验证例如Teamviewer在gui选项中是否为此提供了一个选项。如果程序具有命令行最小化参数,只需将其添加到启动管理器。


Teamviewer使用Wine来支持在Linux上运行。由于Windows版本不接受任何命令行参数,因此Linux版本也不接受。同样,如果确实将其最小化到托盘中,它将使用“酒”图标,除非使用的任何工具提供了“酒”图标。
格雷格·查巴拉

1

我还在启动时将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如果找不到匹配的窗口将放弃

0

从Teamviewer 8.0.20931开始,系统托盘功能会自动最小化。但是在Gnome classic中,它将创建Wine System Tray,我不知道如何将其最小化。我尝试了脚本(保存为〜/ .devilspie / wine.ds):

( if 
( begin 
( is ( application_name ) "Wine" )
( is ( window_name ) "Wine System Tray" )
) 
( begin 
( minimize )
( println "match" )
)
)

...但是没有用

使用适用于Linux的新Teamviewer 8.0.20931,即使没有用户登录,也可以登录Linux登录屏幕。但是经过一段时间左右两次登录和退出后,您将无法连接到Teamviewer。您需要通过命令行进行远程访问才能重新启动计算机-然后它又可以工作了。


0

由于某种原因,Devilspie无法在我的系统中工作。最终,我找到了一个替代产品(不太优雅)。我安装了wmctrl

sudo apt-get install wmctrl

使用wmctrl -l找到的窗口名称,我想在启动时关闭。之后,将这些命令放入脚本中(创建一个新的空文件,并将其命名为.<...>.sh。点名以将其隐藏):

wmctrl -c <Window_1>
wmctrl -c <Window_2>
wmctrl -c <Window_3>

最后,在目标之后几秒钟将此文件添加到启动应用程序。


请注意,此命令将关闭窗口。要最小化启动程序,请在不同的工作区集上,在程序手册中找到适当的选项。


除非使它“聪明地”等待窗口,否则成功取决于窗口出现与最小化命令之间的时间。如前所述,最好让它聪明地等待窗口,否则在您的系统被占用(并因此变慢)时它将无法工作。另外,由于您不使用窗口ID,而是(部分)名称用作标识符,因此存在名称冲突的风险。参见askubuntu.com/a/663288/72216
Jacob Vlijm'1

我同意你的看法。我什至在这里发布了我的脚本版本。不过,我仍然将其用于teamviewer。
谢尔盖

0

2017年工作解决方案!

我来自Manjaro(XFCE)版本,但是由于这是带有devilspie的跨Linux解决方案,因此这是在最小化启动Team Viewer时的完整解决方案:

  1. 打开终端

  2. 安装devilspie包:

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

    mkdir ~/.devilspie
  4. 创建以下脚本(使用所需的任何编辑器代替nano):

    nano ~/.devilspie/teamviewer.ds
  5. 粘贴下面的脚本并保存文件(nano- CTRL + X,然后ÿ,然后ENTER):

    ( if
    ( begin
    ( is (application_name) "Teamviewer")
    ( is (window_name) "TeamViewer")
    )
    ( begin (close) )
    )
    1. devilspie角度来看,所有步骤均已完成,但每次启动时仍会显示“计算机和联系人”侧窗。要隐藏它,请打开:

TeamViewer->其他->选项->高级->“显示高级选项”->“在启动时显示计算机和联系人” (位于“计算机和联系人的高级设置”部分),然后取消选中它。

步骤适用于TeamViewer 12。在其他版本中,它们可能有所不同。

注意:

在devilspie脚本中使用(最小化)而不是(关闭)导致我出现“ TeamViewer未准备好。请检查您的连接”错误,并且没有重新启动Team Viewer服务就无法正常工作。


0

在新版本中,该程序在托盘中已经有一个图标,但是该程序的两个主窗口在启动时出现。所以我正在使用这个脚本

#! /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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.