44971


## 症状

![uimniyoruniyorukanahennkanngadekinai](https://pbs.twimg.com/media/De__sEmVAAA6zZ4.jpg)  
uim-pref-gtkで設定でき，urxvt上の端末にuim-input-pad-
jaからであれば仮名を入力できます．キーボードから入力した文字列に変換を予期する下線を伴うか否かを半角/全角キーで切り替えられるので機能しているようですが，ローマ字打ちで仮名を入力できません．キーボードからローマ字打ちで仮名を入力できないので当然ながら漢字変換するに至れません．
** _キーボードから入力した文字列を仮名変換できるよう環境を治すことが質問の目標です．_** Windows10のMicrosoft
IMEによるローマ字打ち日本語入力と同じような挙動をまたuimに機能させることを質問の目標とします．

## 留意

元々は一般ユーザーでXを起動できなくなり，手探りでまた起動を可能に修復したら新しく発生した問題です（ゆえに次項から，X準備から症状に至った流れとして問題を説明します．症状に的外れな説明である可能性があります）．依然としてXの挙動が不安定であるために，私は素朴にX周りの設定に原因の存在を予想しています．一般ユーザーでXを起動するために最初に試して挫折した対症療法である[systemd/ユーザー
> systemd のユーザーサービスとしての Xorg > 2. ~
4.](https://wiki.archlinux.jp/index.php/Systemd/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC#systemd_.E3.81.AE.E3.83.A6.E3.83.BC.E3.82.B6.E3.83.BC.E3.82.B5.E3.83.BC.E3.83.93.E3.82.B9.E3.81.A8.E3.81.97.E3.81.A6.E3.81.AE_Xorg)で書き残した起動失敗するsystemdユーザーユニットや設定ファイルが邪魔している可能性もあります．uim側の設定を症状に合わせるように何か変更するだけで質問の目標を達成する可能性もあります.X，uim（，systemdなど）について回答やコメントを広く募集します．  
目につく限りのエラー出力ログを
Googleで検索して調べ回答済み質問を参照し対症療法としてきたので，問題の切り分けが不十分です．新規ユーザーの制限により，ハイパーリンクを二件までしか質問文に貼れません．次項からの流れでは主にArchWikiの該当ページを参照し実行しました．環境はThinkPad
X220のmSATA SSDにインストールしたArch
Linuxです．エラー出力ログや参照したハイパーリンクの情報が回答に必要だと私または回答コメント者が判断した場合は，質問文を編集して追記またはコメントにて補足します．

## Xを準備

以前から一般ユーザーにXを起動する許可を与える設定ファイルを作成していました．  
/etc/X11/Xwrapper.config

[code]

    allowed_users=anybody
    needs_root_rights=yes
    
[/code]

Xを描画するビデオカードのドライバー等を準備するために，  
搭載されているビデオカードを特定し，  
$ lspci | grep -e VGA -e 3D  
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core
Processor Family Integrated Graphics Controller (rev 09)  
ビデオカードに該当しそうなドライバーを，念のため全てインストールしました．  
$ sudo pacman -S xf86-video-fbdev xf86-video-vesa xf86-video-intel  
よく分かりませんがArchWikiの指示通り設定ファイルを作成しました．  
$ sudo vim /etc/X11/xorg.conf.d/20-intel.conf

[code]

    Section "Device"
        Identifier  "Intel Graphics"
        Driver      "intel"
        Option      "AccelMethod" "sna"
    EndSection
    
[/code]

## Xを起動

Xを起動しようとしました．  
$ xinit  
略  
Fatal server error:  
(EE) parse_vt_settings: Cannot open /dev/tty0 (Permission denied)  
略

原因は分かりませんが，`$ xinit`は失敗します．sudo権限をつけると成功しますが，`$
whoami`が一般ユーザーからrootに切り替わってしまうことが二回に一回くらいの頻度で発生します．以前はsudo権限なしでも一般ユーザーで`$
xinit`できていたのですが，ある日いつものように`$ yaourt -Syua`で更新をかけると`$
xinit`できなくなってしまいました．以前から既に`/etc/X11/Xwrapper.config`を設定済みでした．必要なパッケージを気付かず削除してしまったのかもしれませんが，どのパッケージを削除したのか覚えていません．xf86-video-
hogeだった気もするのですが，前項のようにインストールしても`$ xinit`は成功しません．

$ startx  
は（sudo権限なしでも）何故か成功でき，元々に解決しようとしていた一般ユーザーによるX起動が実現できました（そして質問の目標であるuimによる仮名変換ができない問題が新しく発生したわけです）（xmonad起動した状態からのシャットダウンはできますが，ログアウトしようとすると二回に一回くらいの頻度でフリーズしてしまい強制終了する必要があるのですが，質問の目標とは別の話です）．

## Xを自動起動

以前から`.zprofile`を設定してログインするとXが自動起動するようにしていました．何故か`$ xinit`できないけど`$
startx`できるので書き換えました．  
.zprofile

[code]

    if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then
        exec startx
    fi
    
[/code]

## 環境変数を設定

対症療法で試行錯誤した私の経験によると，環境変数は問題に大きく関わると予想します．`DISPLAY`と`XDG_VTNR`などが何を設定する環境変数であるか，私の理解は不十分です．

以前は`.xinitrc`のuimが起動する`uim-xim
&`付近にuimの環境変数を記述していましたが，`.xprofile`に移動しても問題の症状に変化はありませんでした．  
.xprofile

[code]

    export GTK_IM_MODULE='uim'
    export QT_IM_MODULE='uim'
    export XMODIFIERS='@im=uim'
    
[/code]

以前は`.zshenv`に`export
DISPLAY=:0`と記述していましたが`.zprofile`設置によるX自動起動を邪魔するようだったので記述を消しました．  
.zshenv

[code]

    export SDL_VIDEO_X11_DGAMOUSE=0
    など
    
[/code]

## uimを起動

Xを起動させる際にuimなどをスタートアップとして付随起動させます．  
.xinitrc

[code]

    #!/bin/sh
    
    userresources=$HOME/.Xresources
    usermodmap=$HOME/.Xmodmap
    sysresources=/etc/X11/xinit/.Xresources
    sysmodmap=/etc/X11/xinit/.Xmodmap
    
    # merge in defaults and keymaps
    
    if [ -f $sysresources ]; then
        xrdb -merge $sysresources
    fi
    
    if [ -f $sysmodmap ]; then
        xmodmap $sysmodmap
    fi
    
    if [ -f "$userresources" ]; then
        xrdb -merge "$userresources"
    fi
    
    if [ -f "$usermodmap" ]; then
        xmodmap "$usermodmap"
    fi
    
    # start some nice programs
    
    if [ -d /etc/X11/xinit/xinitrc.d ] ; then
        for f in /etc/X11/xinit/xinitrc.d/?* ; do
            [ -x "$f" ] && . "$f"
        done
        unset f
    fi
    
    [[ -f $userresources ]] && xrdb -merge -I $HOME $userresources
    xsetroot -cursor_name left_ptr
    setxkbmap -layout jp
    test -r $usermodmap && xmodmap $usermodmap
    
    uim-xim &
    dunst &
    urxvtd --quiet --fork --opendisplay
    
    exec xmonad
    #end
    
[/code]

デスクトップ画面であるxmonadが起動し，初項画像の症状に至ります．回答やコメントをお願い致します．

## 追記1

設置して起動していた余計なsystemd user
unitsを停止させると，因果関係は不明ですが，sudo権限なしで`xinit`も成功できるようになっていました．一般ユーザーでXやuimを自動起動する一手段であるsystemd
user
unitsは，目的を同じくする`.zprofile`による一手段と競合するだけのようです．この質問では第ニ項で言及したsystemdの内容を無視して良いと思われます．  
一般ユーザーで **sudo権限ありの** `$ xinit`または`$
startx`によりXを起動し`.xinitrc`でuimやxmonadを付随起動させた場合，`$ whoami`で確認すると
**rootに切り替えてxmonadを起動させる** ようで，uimによるローマ字入力が可能であることに気付きました．また，CUIで`$ sudo
xinit`し，xmonad上で`$ su
username`してrootから一般ユーザーに切り替えると，質問の症状を迂回して回避できることに気付きました．とは言え直接に質問の目標を達成したいです．権限がないことが問題の一因かもしれません．

## 追記2

uimの挙動に影響している憶測を私が捨てきれない，未解決のX誤動作[kernel error in drm_kms_helper, flip_done
timed out](https://bbs.archlinux.org/viewtopic.php?id=218581&p=3)があり，X
serverを停止させようとするとLinux全体の挙動が極度に遅くなったりフリーズすることがあります．ThinkPad
X220使い二名がxf86-video-intelをアンインストールし解決したと投稿していますが，xf86-video-intelがないと`$
xinit`できませんでした．xf86-video-vesa("generic KMS driver"?)とxf86-video-
fbdevは不要そうなのでアンインストールしました．kernel
parameterに`video=SVIDEO-1:d`加えることで解決するとも投稿されているので，BootloaderにはGRUB2を採用しているはずなので`/etc/default/grub`に`GRUB_CMDLINE_LINUX_DEFAULT="quiet
video=SVIDEO-1:d"`のように含め，`grub-mkconfig -o
/boot/grub/grub.cfg`して設定を永続して反映させるはずですが，試しても何故か永続しません．GRUBメニューが表示されたらeを押しパラメータをlinux行の後ろに加えることで一時的に反映されることはできました．しかし現段階では，この方法を含む[Intel
Graphics](https://wiki.archlinux.jp/index.php/Intel_Graphics)に書かれた方法を試行錯誤して，未解決のX誤動作を安定させられたことも，uimの症状が治ったこともありません．`$
chromium &`が"Your Preferences can not read."と表示する窓を伴い`initializesandbox()
called with multiple threads in process gpu-
process.`などのエラー文を出し動作が現在は不安定であることから，「uimの挙動は未解決のX誤動作により日本語文字の描画を阻害された結果である」と憶測できなくもありません．

追記2に追記：`$ grub-mkconfig -o /boot/grub/grub.cfg`ではなく`$ grub-mkconfig -o
/boot/efi/EFI/grub/grub.cfg`でboot時のGRUB2 > e画面でboot
parameterのLinux行に`video=SVIDEO-1:d`設定が永続反映できたことを確認しました．しかしXと，その上のuimとchromiumの症状に変化ありませんでした．


CC BY-SA 4.0
2018-06-09T10:00:51.477
44646
2018-06-21T16:49:59.997
2018-06-16T18:05:52.020
3621
3621
question
linux
一般ユーザーで起動したX(monad)上のuimで仮名変換できない


`$ uim-pref-gtk`の![Global
Settings画面](https://pbs.twimg.com/media/Df7jM78UcAAJKmQ.jpg:large)においてInput
method deployment > Default input method選択ボックスで，Anthy(UTF-8)またはGoogle-CGIAPI-
Jpではなくm17n-en-ispellを選択してuimを起動していた，という些細な見落としが原因でした．このDefault input
method選択はuimを再起動しないと設定が反映されないようです．  
この質問で言及したX，chromium, drm_kms_helperはいずれも問題の症状とは全く無関係であり，原因は個々で独立であることを確認しました．


CC BY-SA 4.0
2018-06-21T16:49:59.997
44971
2018-06-21T16:49:59.997
3621
44646
answer