- 締切済み
bashスクリプト linux emacs
root権限を与えたときにemacsが起動できなくなるんですがなんででしょうか?? bashスクリプトが書けなくて困ってます。。 また別に、他の書き方があれば教えてください!
- みんなの回答 (8)
- 専門家の回答
みんなの回答
rootだと、nano あるいは、Viがテキストエディタに利用できると思います。
日本語など所謂Mule拡張が使えるようにビルドされたemacsはデフォルトでX11の稼動を要求しますので・・・・ X環境ではないコンソールターミナルから使う場合には・・・ emacs --help とかして、ターミナルベースで使うための起動オプションを確認して、オプションをつけて起動させてみてください。 蛇足ですが、オプションを毎回入力するのが面倒な場合はaliasに登録しておくとべんりです。
- junkUser
- ベストアンサー率56% (218/384)
もしかして、X Window で使用していますか? もしそうであれば、ユーザー側では alias emacs='xemacs' とかあるのではないでしょうか。 rootで、xemacs で実行するとか、"&" をつけない emacs で実行してみてはいかがでしょうか。
- Tacosan
- ベストアンサー率23% (3656/15482)
「端末上でコマンド実行して、新たなウィンドウで表示させました。」が今ひとつピンと来ないのですが, 「X は動いていて, その端末エミュレータから実行している」ということでしょうか? #4 で示されているように, 「バックグラウンドで実行している」のが問題っぽい感じがします. & を付けずにフォアグラウンドで動かしても, 「新たなウィンドウ」にはならないような気がする. ちなみに, emacs 以外の「新しくウィンドウを作る」プログラムはきちんと動きますか?
- 774danger
- ベストアンサー率53% (1010/1877)
ちなみに、バックグラウンドではなく(&を付けずに) emacs -nw で起動するとどうなりますか?
- junkUser
- ベストアンサー率56% (218/384)
> root権限を与えたときにemacsが起動できなくなるんですがなんででしょうか?? emacs へのパスが通っていないからです。 正常なユーザーで以下を確認 echo $PATH which emacs root で同様に確認する。 /root/.profile などを修正します。 > 他の書き方があれば教えてください! vi で書く。
- Tacosan
- ベストアンサー率23% (3656/15482)
「なぜ」と聞かれても, ほとんどの人が超能力者でないと推測されるこの世界では, この文面だと情報が足りなさすぎ. 「root権限を与える」というのは「誰 (もしくは何) に」与えるのですか? 「起動できない」といっても, 「どのような環境で」実行しているのか分かりません. 例えば「X 上で動いているかどうか」は気になりますし X 上で動いているとしても「端末エミュレータ内で表示させている」のか「新たなウィンドウで表示している」のかでも変わってきます. さらに, 何らかのデスクトップ環境が動いているのであれば「端末エミュレータ内でコマンドを実行している」のか「デスクトップ環境の機能で実行している」のかも書いてください. さらに, 起動するときにメッセージは出ませんでしたか?
補足
自分にroot権限を与えました! そして端末上でコマンド実行して、新たなウィンドウで表示させました。 起動するときにエラーは出ませんでした。 そのときの状況は下になります。 root@ubuntu:~# emacs & [1] 2823 root@ubuntu:~# お願いします。
とりあえずrootですと、エディタにemacsが利用できなくとも、代わりにnanoかviのクローンが利用できるかとおもいます。 それで・・・ 環境変数はアカウントごとに異なります。 一般的には~/.bash_profileや~/.bashrc、~/.bash_loginなどで、/etc/Profileのようなデフォルトスクリプトから継承された環境変数がオーバーライドされます。 デフォルトスクリプトの環境変数には、/usr/binや/usr/local/binのようなpathが含まれていないのが一般的だとおもわれますので、rootアカウントからemacsを起動するには、フルパスで指定するか~/.bash_profileの$PATHに検索pathを追加しておきます。 環境変数の確認がenvコマンドで表示できない場合は echo $PATH のようにすると環境変数$PATHの内容を表示できます。
補足
/.bashrcにPATHを通したんですが起動されません。。 実行すると下のようになります。 root@ubuntu:~# emacs & [1] 2823 root@ubuntu:~# これはもしかして内部的に動いてたりするんでしょうか?? お願いします。
補足
通したんですが、動きませんでした。。 実行すると下のようになります。 root@ubuntu:~# emacs & [1] 2823 root@ubuntu:~# 何がおかしいかわかりますか??