• 締切済み

bashスクリプト linux emacs

root権限を与えたときにemacsが起動できなくなるんですがなんででしょうか?? bashスクリプトが書けなくて困ってます。。 また別に、他の書き方があれば教えてください!

みんなの回答

noname#198419
noname#198419
回答No.8

rootだと、nano あるいは、Viがテキストエディタに利用できると思います。

noname#198419
noname#198419
回答No.7

日本語など所謂Mule拡張が使えるようにビルドされたemacsはデフォルトでX11の稼動を要求しますので・・・・ X環境ではないコンソールターミナルから使う場合には・・・ emacs --help とかして、ターミナルベースで使うための起動オプションを確認して、オプションをつけて起動させてみてください。 蛇足ですが、オプションを毎回入力するのが面倒な場合はaliasに登録しておくとべんりです。

  • junkUser
  • ベストアンサー率56% (218/384)
回答No.6

もしかして、X Window で使用していますか? もしそうであれば、ユーザー側では alias emacs='xemacs' とかあるのではないでしょうか。 rootで、xemacs で実行するとか、"&" をつけない emacs で実行してみてはいかがでしょうか。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.5

「端末上でコマンド実行して、新たなウィンドウで表示させました。」が今ひとつピンと来ないのですが, 「X は動いていて, その端末エミュレータから実行している」ということでしょうか? #4 で示されているように, 「バックグラウンドで実行している」のが問題っぽい感じがします. & を付けずにフォアグラウンドで動かしても, 「新たなウィンドウ」にはならないような気がする. ちなみに, emacs 以外の「新しくウィンドウを作る」プログラムはきちんと動きますか?

  • 774danger
  • ベストアンサー率53% (1010/1877)
回答No.4

ちなみに、バックグラウンドではなく(&を付けずに) emacs -nw で起動するとどうなりますか?

  • junkUser
  • ベストアンサー率56% (218/384)
回答No.3

> root権限を与えたときにemacsが起動できなくなるんですがなんででしょうか?? emacs へのパスが通っていないからです。 正常なユーザーで以下を確認 echo $PATH which emacs root で同様に確認する。 /root/.profile などを修正します。 > 他の書き方があれば教えてください! vi で書く。

tomato1414
質問者

補足

通したんですが、動きませんでした。。 実行すると下のようになります。 root@ubuntu:~# emacs & [1] 2823 root@ubuntu:~# 何がおかしいかわかりますか??

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

「なぜ」と聞かれても, ほとんどの人が超能力者でないと推測されるこの世界では, この文面だと情報が足りなさすぎ. 「root権限を与える」というのは「誰 (もしくは何) に」与えるのですか? 「起動できない」といっても, 「どのような環境で」実行しているのか分かりません. 例えば「X 上で動いているかどうか」は気になりますし X 上で動いているとしても「端末エミュレータ内で表示させている」のか「新たなウィンドウで表示している」のかでも変わってきます. さらに, 何らかのデスクトップ環境が動いているのであれば「端末エミュレータ内でコマンドを実行している」のか「デスクトップ環境の機能で実行している」のかも書いてください. さらに, 起動するときにメッセージは出ませんでしたか?

tomato1414
質問者

補足

自分にroot権限を与えました! そして端末上でコマンド実行して、新たなウィンドウで表示させました。 起動するときにエラーは出ませんでした。 そのときの状況は下になります。 root@ubuntu:~# emacs & [1] 2823 root@ubuntu:~# お願いします。

noname#198419
noname#198419
回答No.1

とりあえず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の内容を表示できます。

tomato1414
質問者

補足

/.bashrcにPATHを通したんですが起動されません。。 実行すると下のようになります。 root@ubuntu:~# emacs & [1] 2823 root@ubuntu:~# これはもしかして内部的に動いてたりするんでしょうか?? お願いします。

関連するQ&A