トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

Xの画面を他のXサーバーに表示する

gnome の注意点

gdmsetup

この画面のセキュリティタブの

TCP接続を禁止する

にチェックが入っているとX転送が出来なくなる。
ただし、SSHのX転送とは無関係

 ファイルマネージャ

nautilus --no-desktop --browser

でファイルブラウザが起動できる。


Input Method(IM)について

 scim の場合

https://wiki.archlinux.org/index.php/Smart_Common_Input_Method_platform_%28%E6%97%A5%E6%9C%AC%E8%AA%9E%29
リモートのアプリケーションに対して、ローカルのIMを使用する場合

export GTK_IM_MODULE="scim"

だけでも大丈夫だけど、

export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE="scim"
export QT_IM_MODULE="scim"

または

export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE="scim-bridge"
export QT_IM_MODULE="scim-bridge"

export QT_IM_MODULE=scim
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE=scim-bridge
などのように環境変数の設定が必要。

X11 connection rejected because of wrong authentication.

って出ることがある。特に問題無くscimが使えているのだけど気になる・・・。

 ibus の場合

 ibus-daemon -d -x

で デーモンを起動して、環境変数を以下のように設定する。

export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus

xming-terminal.sh

#! /bin/bash
ibus-daemon -d -x
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
gnome-terminal

のようなシェルを作成しておくと良いかも。
ibus の設定画面は

ibus-setup

で表示できる。

また、

WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-xxxx

のようなワーニングが出る場合は

export NO_AT_BRIDGE=1

を定義すると消える。

imの優先順位変更1

環境によっては、日本語入力のIMが優先になっていないために日本語入力ができない場合がある。

ibus-setup

でショートカットを指定するか、日本語入力以外のIMを消す

imの優先順位変更2

設定を書き換えることでIMの優先順位を変更できる。

dconf dump /desktop/ibus/general/


preload-engines

を確認。優先順位順をdconf write で書き込む

例1 dconf write /desktop/ibus/general/engines-order "['kkc']"
     dconf write /desktop/ibus/general/preload-engines "['kkc']"
例2 dconf write /desktop/ibus/general/engines-order "['mozc-jp', 'xkb:jp::jpn', 'xkb:us::eng']"
     dconf write /desktop/ibus/general/preload-engines "['mozc-jp', 'xkb:jp::jpn', 'xkb:us::eng']"


imの優先順位変更3

dconfが使えない場合、gconfしか使えない場合は

gconftool-2 --set /desktop/ibus/general/preload_engines --type list --list-type string "[mozc-jp]"

で変更可能。


SSHで使う場合の例

.bashrcの最後に以下を加える

 if [[ "${SSH_CONNECTION}" ]] ; then
    export GTK_IM_MODULE=ibus
    export XMODIFIERS=@im=ibus
    export QT_IM_MODULE=ibus
    export NO_AT_BRIDGE=1
    ibus-daemon -d -x
 fi

SSHの経路を使わない(xauthを使う)

1.[画面取得側]設定

xauth list

でクッキー確認。
もし、設定されていなければ

xauth generate isplayname protocolname オプション

で作成する。例えば

xauth generate localhost:0
または
xauto generate xxx.xxx.xxx.xxx:0 . trusted

など。ディスプレイ名は 基本的にDISPLAY 環境変数と同じでOK。

2.[画面送信側]画面の表示をXサーバーに設定

1.で確認したクッキを追加

xauth add 画面取得側:0 MIT-MAGIC-COOKIE-1  00112233445566778899aabbccddeeff
setenv DISPLAY 画面取得側:0

その後

xeyes

などで画面が飛ぶことを確認。

SSHの経路を使わない(xhostを使う)

1.[画面取得側]設定

Fedora5 以降は初期設定ではXの画面取得をしない設定になっているので
/etc/gdm/custom.conf
に設定が必要。 gdmsetup でも可。

[securiry]
 AllowRemoteRoot=true

2.[画面取得側]Xサーバーへのアクセス許可

xhost 画面送信側IP

3.[画面送信側]画面の表示をXサーバーに設定

setenv DISPLAY 画面取得側IP:0.0

その後

xeyes

などで画面が飛ぶことを確認。

SSHの経路を使う

1.[画面送信側]

xauth がインストールされていること。
/etc/ssh/sshd_config

XForwarding yes

となっていることを確認

2.[画面取得側]

/etc/ssh/ssh_config か ~/.ssh/config

ForwardX11 yes

となっていることを確認
または、

ssh -X オプションを使う

ディスプレイ番号を 0.0 以外にする場合

teraterm や LinuxなどのSSHを使う場合にディスプレイ番号を変更したい場合は

環境変数 DISPLAY

を設定すれば、そのディスプレイが適用される。
例えば、Linuxの場合は

export DISPLAY=localhost:3.0
ssh  hoge -X

teraterm の場合も

set DISPLAY=localhost:3.0
ttermpro.exe


3.[画面取得側]画面送信側へSSHでログイン

SSHでログイン前に、 DISPLAY 環境変数を確認。

DISPLAY=localhost:0.0

とかになっているかを確認する。
ログイン後、環境変数のDISPLAY を確認(10.0以上くらいになっているはず)。

xeyes

などで画面が飛ぶことを確認。

xauthでエラーが出る場合

ForwardX11Trusted yes

または、

ssh -Y xxxx

でフルアクセス許可することで回避できる

sudo で Xの画面を表示する

http://d.hatena.ne.jp/suzumura_ss/20090714

sudo xeyes

などとすると画面が表示されない。sudo でXの画面を表示するには

 sudo XAUTHORITY=~/.Xauthority コマンド

とする。

[カテゴリ: OS > Linux]

[通知用URL]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2022年03月28日 22時57分06秒