ここから本文です

sudo権限でemacsを起動したときのみmozc日本語入力が使用できない

m0u0u0u0mさん

2014/4/2710:01:25

sudo権限でemacsを起動したときのみmozc日本語入力が使用できない

おはようございます。
最近Ubuntu14.04でemacs24を使用しています。

'$ emacs'や、アイコンクリックでemacsを起動したときには特に設定することなくmozcの入力が可能なのですが、'$ sudo emacs'で起動した場合のみなぜかmozcの日本語入力ができなくなります。

~/ には、設定を含めた .emacs と、勝手に作成されてた .emacs.d/ があります。
このうち .emacs の中の設定はsudoでないと読み込まれないようです。

しかし、これら2つのファイルやディレクトリを一度削除してsudoで起動してもやはり日本語入力は不可能なので、この2つは原因ではないように思えます。

また、sudoではないときには使用できる全角・半角キーも、sudoのときは
<zenkaku-hankaku> is undefined と、ミニバッファに表示されます。
(C-/による日本語入力はできますが変換能力が酷くとても使えません)

さらに、https://wiki.archlinux.org/index.php/Mozc_%28%E6%97%A5%E6%9C%AC%E8%...
で紹介されていた
(require 'mozc)
(setq default-input-method "japanese-mozc")
の方法も試してみましたが、C-/を押すとすぐに
failed to establish a session
と表示され、返還できませんでした。

そこで、方法をご存知の方の知恵をお借りしたいと思います。

自分にとってのゴールは、sudo時にmozc日本語入力が可能になることです。
よろしくお願いします。

閲覧数:
499
回答数:
1

違反報告

ベストアンサーに選ばれた回答

2014/4/2712:13:36

私はemacsもmozc日本語入力も知識がないので、具体的な解決策を示せないのですが、
sudoで実行した時と、そうでない時で動作に違いがでるのなら、必要な環境変数が引き継がれていないのではないかと思います。
sudoは一時的にユーザを切り替えてコマンドを実行するのですが、この時HOMEと/etc/sudoersのenv_keepで指定された変数以外は、
切り替え先のユーザのプロファイルの値になってしまいます。
うまくいくユーザとrootの変数を比較して必要ならenv_keepに追加すればよいのではないでしょうか。

質問した人からのコメント

2014/4/29 22:38:56

回答ありがとうございます。
その手法も是非と思ったのですが、そこまでの技術がなかったので、結局
sudo find / -name "*emacs*" -exec rm {} \;
でemacsと名のつくものを片っ端から削除してインストールして修復しました。
せっかく頂いた回答を活かしきれず申し訳ありませんが、色々な問題に応用できそうという意味で勉強になりました。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo!知恵袋カテゴリ

一覧を見る

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。