2013-08-16 41 views
0

我想在使用unix的特定工作區中打開gmemusage;但是,gmem不接受-xrm參數。其他方法可以用來完成這個嗎?在特定工作區中打開應用程序

#!/usr/bin/perl 
#use strict; 
$ENV{DISPLAY} = "$1:0.0"; 
#system('xlogo -xrm "*workspaceList: Two"');  #<--- This works 
system('gmemusage -xrm "*workspaceList: Two"'); #<--- This does not work 
sub testSystemScript{ 
    if($? == -1) 
    { 
     die("Command failed: $!\n"); 
    } 
    return 0; 
} 

回答

0

我不知道gmemusagexlogo什麼,但我不知道Perl的特殊變量。您的意思是使用$ARGV[0]而不是$1

$ENV{DISPLAY} = "$ARGV[0]:0.0"; 
+0

這似乎應該是一條評論,因爲它與問題是正交的。 – Barmar

+0

@mob不,我的意思是使用$ 1。下次我可以嘗試ARGV [0]。 – SINGULARITY

+0

如果OP需要根據命令行參數設置「DISPLAY」var而不是正則表達式匹配(OP中未顯示),那麼這可能是問題的正確答案。如果不是,那麼這個問題就是錯誤的答案。 – mob

1

我不使用Linux窗口管理器自己(我用的是Mac),但我做了一些谷歌搜索,發現this。如果我理解正確,我認爲你應該可以這樣做:

system('wmctrl -s Two; gmemusage'); 
+0

這不起作用。我需要wmctrl庫才能工作......我不允許下載任何庫。 – SINGULARITY

+0

嗯,我發現當我谷歌wmctrl說什麼需要其他軟件的任何網站。我認爲它與任何窗口管理員都是兼容的。 – Barmar

+0

這是圖書館:[WMCTRL圖書館](http://tomas.styblo.name/wmctrl/) – SINGULARITY

相關問題