Alt + F2(アプリケーションの実行)はカスタムコマンドでは機能しません


12

Androidの開発をスピードアップするために~/.bashrc、いくつかのパスを追加するように編集しましたPATH

export PATH=${PATH}:/opt/android-sdk/tools:/opt/android-sdk/platform-tools

これはコマンドラインからうまく機能します(入力するだけandroidで、どこにいてもAndroid SDKとAVD Managerが正常に起動します。

私が入力しよう場合は、androidAlt+F2ダイアログ(アプリケーションの実行)、それは次のエラーを与えます:

場所 'file:/// home / felix / android'を開けませんでした

ファイル '/ home / felix / android'を示すエラー:そのようなファイルまたはディレクトリはありません

何故ですか?「PATHアプリケーションの実行」ダイアログでは何が使用されますか?

回答:


11

bashrcはの設定ファイルであるため、Gnomeによって読み取られないと仮定しますbash

でパスを定義します~/.profile。このファイルは間違いなくGnomeおよびXFCE環境で読み込まれ、他の環境でも同様に読み込まれます。(ただし、ログイン時にのみ読み取られるため、変更を有効にするにはログアウトしてから元に戻す必要があります!)


PATH=ステートメントをに移動する~/.profileと、Alt + F2とターミナルの両方で機能します。ありがとう。
フェリックス

私の場合、Xセッションをログインシェルで開始する方法を理解できなかったため、~/.profile/ bin / shを/ bin / dashを指すように変更する必要がありました
elias

1
ちょっと、これはGnome 3.30.1で、PATHの設定は~/.profileもう機能しません。これに関する更新はありますか?
iago-lito

2

~/.bashrc~/.profileデフォルトで含まれています。~/binディレクトリが追加されPATH、あまりにもデフォルトで。~/binディレクトリを作成し、ln -s使用するアプリケーションにシンボリックリンク()を追加するか、を変更します~/.bashrc

上記のファイルのデフォルトのコンテンツは、/etc/skel新しいアカウントとそのホームディレクトリの作成時に使用されます。


1
はい、.profileが実行されている場合bash$BASH_VERSIONGnomeが実行しない定義済みの条件チェック。ところで、条件を削除すると、LXDEなどの一部のデスクトップ環境で問題が発生します。
カールステンシール

0

Linux Mint(Cinnamon 2.8.8)でも同じ問題が発生しましたが、通常の修正(を使用して.profileXsessionシェバンをに変更/bin/sh -l)で動作させる方法はありませんでした。

問題は、ログインシェルの場合(つまり、オプションが指定されている場合)/bin/sh/bin/dash読み取るためのシンボリックリンクであるということです。~/.profile-l

straceで確認できます:

$ strace -e open dash
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/dev/tty", O_RDWR)                = 3
$ ^D
+++ exited with 0 +++
$ strace -e open dash -l
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/dev/tty", O_RDWR)                = 3
open("/etc/profile", O_RDONLY)          = 3
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=12260, si_status=0, si_utime=0, si_stime=0} ---
open("/etc/profile.d/Z97-byobu.sh", O_RDONLY) = 3
open("/etc/profile.d/bash_completion.sh", O_RDONLY) = 3
open("/etc/profile.d/vte.sh", O_RDONLY) = 3
open("/home/elias/.profile", O_RDONLY)  = 3
$ ^D
+++ exited with 0 +++

どのスクリプトを変更するのかわかりませんでした(/ etc / X11と/ etc / mdmの下でそれらの束を試しました)が、運はありません。

だから私はタオルを投げて、代わり/bin/shに指すよう/bin/bashに変更し/bin/dash、それは今働いています。:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.