web-dev-qa-db-ja.com

Ubuntuのデスクトップをダブルクリックしてファイルを開くときに作業ディレクトリを変更するにはどうすればよいですか?

ダブルクリックでファイル(.pdbファイル:タンパク質構造形式、気にしない)を開きたい。

「with with」は、Ubuntu Tweakで「pymol」(。pdb形式を開くプログラム)を実行するように手動で指示されます。

しかし、作業ディレクトリ$ HOME。であることがわかりました

ファイルを開いたディレクトリの他のファイルが重要なので、それらにアクセスしたい。

「pymol」は$ HOMEで実行され、「pdbファイル」(ダブルクリックしたファイル)の絶対パスは引数として渡されると思います。

これはやや一般的な問題だと思うので、質問してください。

システムで"作業ディレクトリ""ファイルをクリックしたディレクトリ"に変更してプログラムを実行するにはどうすればよいですか?

8
Seungpyo Hong

これは数年後ですが、ここに私のために働いたものがあります:

Exec=bash -c 'cd "%k" && ~/path/to/your/file'

%kは、起動したばかりのランチャーのディレクトリのパスを提供します。

15
TuxForLife

上記の解決策はどれも私のdebianではうまくいきませんでした。また、%dは非推奨です。 デスクトップエントリ仕様 を参照してください。

そのため、次のbashスクリプトを使用してpymolを実行しています。まず、次のbashスクリプトファイルを作成し、/usr/local/bin/run_pymol.shに保存する必要があります。ファイルを/usr/localに保存したのは、xdg-openがHOMEディレクトリなどを理解していないようだからです。

#!/usr/bin/env bash
# change working directory
cd `dirname $1`
# run pymol
/usr/bin/env pymol $@

第二に、そのファイルに実行許可を与えます。ターミナルを開き、次のコマンドを入力して許可を与え、確認します。

% chmod +x /usr/local/bin/run_pymol.sh
% run_pymol.sh

最後に、次のようにpymol.desktopファイルを変更すると、pymolは最初に指定されたファイルがあるディレクトリで起動します。

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Name=PyMOL Molecular Graphics System
GenericName=Molecular Modeller
Comment=Model molecular structures and produce high-quality images of them
Type=Application
Exec=/usr/local/bin/run_pymol.sh %U
TryExec=pymol
Icon=pymol
MimeType=chemical/x-pdb
Categories=Education;Science;Chemistry;

皆さんのお役に立てば幸いです:-)

5
Λlisue

なぜそこまでの解決策がそんなに支持されたのか理解できません。作業ディレクトリを.desktopファイルがあるディレクトリに変更しますが、質問は作業ディレクトリを開いているファイルのあるディレクトリに変更しようとしていました。

私の解決策:

Exec=/bin/bash -c 'cd $(dirname $0) && micro $0'

.desktopファイルのenv変数の設定は次のように異なることに注意してください

Exec=env CPATH=../include /bin/bash -c 'cd $(dirname $0) && micro $0'
0
Narical

/usr/share/applicationsに移動して、特定のファイルタイプを開くたびに呼び出される適切なfile.desktopを見つけることができます。それを編集し、exec行でcd PATH &&を行の先頭に追加します。

0