web-dev-qa-db-ja.com

スーパーユーザー特権を持つデスクトップファイル

メインexecファイルが/home/fer/Matlabである/home/fer/Matlab/R2014b/bin/matlabの下にMatlabをインストールしました。奇妙なことがあり、Sudoを使用してターミナルで開いた場合にのみ機能します。 Sudoを使用せずに実行すると、アクセス許可エラーがスローされて終了します(どこかで読み取っています)。

とにかく、メニューから開くことができるように.desktopファイルを作成しようとしましたが、それはSudoの下で実行する必要があるため、exec行で書きました。

Exec=gksudo -u root /home/fer/Matlab/R2014b/bin/matlab

ショートカットをクリックすると、パスワードの入力を求められ、Matlabのスプラッシュが表示されて閉じ、何も起こりません。これはMatlab自体の問題によく似ていますが、.desktopファイルのexec行で正しく実行していますか?他に何か追加する必要がありますか?プログラムの実行にターミナルが必要な場合、デスクトップファイルからターミナルをエミュレートできますか?

編集:コメントで尋ねられたように:whoamiはferを出力し、Matlab/R2014bのすべてのファイルとサブディレクトリはユーザーferとグループferによって所有されます。エラーはMatlabウィンドウに書き込まれ、/ home/fer/.matlab/R2014b/temp0xに書き込み権限がないと表示されます...そのディレクトリを調べてみます。

1
MyUserIsThis

カットアウトして@MyUserIsThisから編集し、彼の質問を編集します。

わかりました。ディレクトリ全体を再帰的にchown_/home/<user>/.matlabしたので、書き込み権限があり、修正されました。

ところで、他の誰かがこれに遭遇した場合、デスクトップファイルのexec行には、端末から呼び出されないときにスクリプトが適切に動作するためのオプション-desktopを含める必要があります。

Exec=/home/<user>/Matlab/R2014b/bin/matlab -desktop
0
Byte Commander