アプリケーションをより便利な方法で起動するにはどうすればよいですか?


9

私はUbuntuの新人です。次の方法で開くアプリケーションがあります。コンソールに入力します:

cd ~/MyDirectory
./myapp +some arguments

どうすれば解決策を見つけることができるので、毎回コンソールにこれらのコマンドを入力せずにアプリケーションを起動できますか?私は、バットスクリプトやウィンドウの.lnkのようなスクリプトを考えています。

他の同様の質問では、スクリプトについての言及と議論しかなかったため、解決策は見つかりませんでした。他の質問で「cd」コマンドを使用する方法が見つかりませんでした。この質問は、他の質問と重複していません。


@steeldriver、いいえ、この質問では解決策が見つかりませんでした。cdコマンドやスクリプトによるアプリの実行については何もありません。
ニック

#1 Doが、あなたが望むソリューションは、あなたのデスクトップをクリックすることができたアイコンであることを、またはこれを使用すると、プロンプトのコマンドから実行したい/必要なものでしょうか?#2議論はどのくらいの頻度で変わりますか?
RonJohn

会話(この場合は安全)では、デスクトップがあることを前提としています。多くの場合、スクリプトの世界ではありません。
mckenzm

回答:


21

スクリプトはかなりやり過ぎです。

次のような.desktopファイルを使用します。

[Desktop Entry]
Exec=/bin/bash -c "cd ~/MyDirectory && myapp some_arguments"
Name=Some App
Type=Application
  • 名前を付けて保存 some_app.desktop
  • 実行可能にしてダブルクリックします

NB

問題は、独自のディレクトリから実行する必要があるかどうかです。そうでない場合、コマンドはさらに簡単になる可能性があります。

Exec='/home/MyUserName/MyDirectory/myapp' some_arguments

2
本当にありがとう。.desktopこのタスクにはファイルで十分です。
ニック

2
@allo OPが彼の問題に最適な解決策ではない解決策を求めたが、より良い解決策が存在することに気付いていない場合、もし分かっていれば、彼に彼の問題に対するより良い解決策を与えるべきです。あなたが答えがここにあるべきであるという点にかなり欠けていることがわからない場合。
Jacob Vlijm

1
@dessert編集ありがとうございます。スペースを含むパスを処理する必要があるかもしれません:)
Jacob Vlijm

1
現在のディレクトリがデフォルトでPATH変数の一部ではないという理由./myapp …だけmyapp …で、代わりに記述したい.場合があります。
PerlDuck

1
@allo既存の回答では不十分だと思われる場合は、自由に回答を追加してください。
Fabby

13

次の内容のファイルを作成します。

#!/bin/bash
cd ~/MyDirectory
./myapp +some arguments

次に、実行可能にします。

chmod u+x scriptname

これで、このスクリプトを次のように呼び出すことができます。 /pathtoscript/scriptname

これをv010dyaによる回答と組み合わせて、このスクリプトをbin$ PATH 内の任意の場所に置くと、両方の呼び出し方法が可能になります。シェルで任意のディレクトリタイプをscriptname使用するか、以下で説明するデスクトップショートカットを使用します。/pathtoscriptスクリプトの実際の配置に変更するだけです。

スクリプトへのショートカットを~/.local/share/applications/作成し、次の内容でsomename.desktopのように配置して名前を付けます。

[Desktop Entry]
Version=1.0
Name=Script
Comment=
Keywords=Script
Exec=/pathtoscript/scriptname
Terminal=false
X-MultipleArgs=true
Type=Application
Icon=preferences-system
Categories=GTK;Development;
StartupNotify=false

次に、アプリケーションリストに表示されます


1
あなたの答えはうまくいきました、ありがとう。しかし、本当に申し訳ありませんが、スクリプトは難しすぎます。私はそれについて知りませんでした。そして、私の答えは具体的にはスクリプトでしたが、解決策を見つけるだけではありませんでした。+1します。
ニック

1

ダブルクリックできるソリューションは既に見つかりましたが、コマンドラインから実行する方が簡単なソリューションがあります。

ステップ1-スクリプトを書く

これはすでにLeonidMewの回答でカバーされいます。ここにコピーします。

#!/bin/bash
cd ~/MyDirectory
./myapp +some arguments

その後

chmod u+x scriptname

ステップ2-実行を簡単にする

あなたは、ディレクトリを作成する必要がある~/binとしますbashのコマンドのためにそれを検索します。ターミナルで次のように書きます:

mkdir ~/bin
mv scriptname ~/bin
vim ~/.profile

ここではターミナルですべてを行っています。もちろんdir、ホームディレクトリにディレクトリを作成し、快適なグラフィカルツールを使用してスクリプトをそこに移動することもできます。また、私はvimをエディターとして使用していますが、初心者が使用するのは少し難しいので、学ぶことをお勧めしますが、別のエディター(グラフィカルであっても)を使用.profileしてホームディレクトリ内で編集できます。このファイルに注意してください。デフォルトでは非表示です。

そのファイルの最後に以下を追加する必要があります

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

vimを使用している場合は、を押しiてテキストの追加を開始し、次にEsc追加を終了します。その後、:wqファイルを書き込んで終了するように入力します。または、すでに述べたように、より単純なエディターを使用します。

ステップ3-楽しむ

これで、現在どのディレクトリにいるかに関係なく、いつでも入力してscriptnameを押すことができますEnter。実行可能にしたい他のスクリプトやアプリケーションをに配置することもできます~/bin


1
あなたはvimの終了方法を書いた、+ 1冗談、いい答え。あなたの解決策は役に立ちます。.desktopファイルを作成し、アプリリストまたはメニューからスクリプトを実行することも可能です(DEによって異なります)。パッチを適用した後、.logout / loginが必要です。また、noexecオプションを使用してhomeをマウントすることもできます。この場合、/ usr / local / bin /にスクリプトを配置する必要があります(sudoを使用)。
LeonidMew
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.