デスクトップ入力には、Exec値に「bash」が必要です。

デスクトップ入力には、Exec値に「bash」が必要です。

私は最近、Gnomeの起動時にいくつかのスクリプトを実行するためにデスクトップエントリを操作し始めました。

いくつかのfreedesktopドキュメントも読みました。この投稿起動スクリプト生成情報。私は現在デスクトップアイテムを実行していますが、私が理解したように動作しません。

一部のシステム情報:WindowsのVirtualBoxで実行されているCentOS7。

これは私のデスクトップアイテムです。

[Desktop Entry]
Name=fixres
GenericName=Resolution Fixer
Comment=Changes resolution to 1920x1080
Exec=bash /home/detroitwilly/scripts/fixres.sh
Terminal=false
Type=Application
X-GNOME-Autostart-enabled=true

実行されるスクリプトはxrandrを使用して新しい解像度モードを追加し、それを自分の仮想モニタに適用します。

スクリプトの最初の行にはshebangがあります#!/bin/bash。私が理解したように、shebangがスクリプトの最初の行にある場合は、デスクトップアイテムの行bashにそれを指定する必要はありません。この行を削除するExec=と、アプリケーションは実行されません。bashExec=

/binまた、私の変数にいることを確認したので、$PATH自動的にアクセスできるはずですbash

スクリプトパスの前に追加する理由についてのアイデアはありますかbash

ありがとうございます!

ベストアンサー1

BASHスクリプトを直接実行するには、次の2つの部分が必要です。

  1. シェルボーン
  2. 実行可能ビット

Shebangは次のようになります。

#!/usr/bin/env bash

(使用するenvのが最善です。たとえば、フルパスで作成することもできます#!/bin/bash。)

次に、実行可能ビットを次のように設定します。

chmod +x /home/detroitwilly/scripts/fixres.sh

おすすめ記事