コマンドラインから特定のディレクトリでNautilusを簡単に起動できます。
nautilus /home/nico/Documents
しかし、Nautilusウィンドウを最大化する必要があります。
コマンドラインの書き方
nautilus
は--maximized
も--fullscreen
も認識していないようです。私はしぶしぶ--geometry 1500x1500
を試しましたが、効果があるようです。
ウィンドウを最大化してnautilus
を開始するには、以下のスクリプトを使用できます。
#!/usr/bin/env python3
import subprocess
import time
import sys
def w_list():
try:
pid = subprocess.check_output(["pgrep", "nautilus"]).decode("utf-8").strip()
w_list = subprocess.check_output(["wmctrl", "-lp"]).decode("utf-8").splitlines()
return [l.split()[0] for l in w_list if pid in l]
except subprocess.CalledProcessError:
pass
relevant1 = w_list()
subprocess.Popen(["nautilus", "--new-window"])
t = 0
while t < 30:
time.sleep(0.5)
relevant2 = w_list()
if all([relevant2 != None, relevant1 != None]):
new = [w for w in relevant2 if not w in relevant1]
if new:
subprocess.Popen(["xdotool", "windowsize", new[0], "100%", "100%"])
break
relevant1 = relevant2
t += 1
スクリプトはxdotool
とwmctrl
の両方を使用します。最初のリストはnewターゲットアプリケーションのウィンドウ、最後はxdotool
ウィンドウのサイズを変更する方法をお勧めします。
Sudo apt-get install xdotool wmctrl
次に、上記のスクリプトを空のファイルにコピーし、start_maximized.py
として保存します
次のコマンドでスクリプトをテスト実行します:
python3 /path/to/start_maximized.py
これで、nautilusは新しいmaximizedウィンドウで起動します。
必要に応じて、コマンドをクイックリスト(右クリック)アイテムとしてUnityランチャーのFiles
(nautilus)ランチャーに追加します。
以下の一般化されたスクリプトでany GUIアプリケーション(+引数)を起動できます。
#!/usr/bin/env python3
import subprocess
import time
import sys
appcommand = sys.argv[1:]
app = appcommand[0]
startup = (" ").join(appcommand)
def w_list():
try:
pid = subprocess.check_output(["pgrep", app]).decode("utf-8").strip()
w_list = subprocess.check_output(["wmctrl", "-lp"]).decode("utf-8").splitlines()
return [l.split()[0] for l in w_list if pid in l]
except subprocess.CalledProcessError:
pass
relevant1 = w_list()
subprocess.Popen(["/bin/bash", "-c", startup])
t = 0
while t < 30:
time.sleep(0.5)
relevant2 = w_list()
if all([relevant2 != None, relevant1 != None]):
new = [w for w in relevant2 if not w in relevant1]
if new:
subprocess.Popen(["xdotool", "windowsize", new[0], "100%", "100%"])
break
relevant1 = relevant2
t += 1
上記とまったく同じセットアップを行います(wmctrl
およびxdotool
のインストールを含みますが、さらにターゲットアプリケーション(+可能な引数)を引数として使用してスクリプトを実行します。
例えば:
python3 /path/to/start_maximized.py nautilus --new-window
または:
python3 /path/to/start_maximized.py gedit
nautilus
クイックリストにオプションを簡単に追加できます。 2番目の(一般化された)バージョンを使用すると仮定します。
グローバルnautilus.desktop
ファイルをローカルにコピーします。
14.04および14.10にあります:nautilus.desktop:
cp /usr/share/applications/nautilus.desktop ~/.local/share/applications
および15.04および15.10:org.gnome.Nautilus.desktop
cp /usr/share/applications/org.gnome.Nautilus.desktop ~/.local/share/applications
(たとえば)geditでファイルを開き、次の行を探します:
Actions=Window;
次のように変更します。
Actions=Window;Open a maximized window;
ファイルの最後に追加します。
[Desktop Action Open a maximized window]
Name=Open a maximized window
Exec=python3 '/path/to/start_maximized.py' nautilus --new-window
OnlyShowIn=Unity;
ファイルを保存して閉じます。
これで、画像のようなクイックリストオプションがあります。
既存ウィンドウを最大化することはそれほど難しくありません。 wmctrl
とxdotool
の両方が、そうするためのオプションを提供します。
問題は、新しく作成されたウィンドウを最大化する場合、コマンドを実行したときにウィンドウIDがまだわからないことです。したがって、スクリプトは次の手順を実行します。
このようにして、アプリケーションの新しいウィンドウを「スマートに」最大化できます。これは、コンピューターが低速(たとえば、重いジョブに占有されている)でも高速でも動作します。
最後に、スクリプトには安全期限が組み込まれているため、アプリケーションが何らかの理由で起動に失敗した場合に待機することを防ぎます。承認後15秒後、スクリプトはgivesめて終了します。
Nautilusはウィンドウサイズを記憶しています。
通常どおり起動し、最大化してから閉じます。
ターミナルでnautilus
と入力すると、最大化されて開きます。
Ubuntu 14.04 LTSでテスト済み。