2016年3月8日火曜日

xrdp の設定でもドハマり

こんなんハマった扱いにならない程度だろうか、そもそもハマる原因がショボ過ぎるんだろうな。


ともあれ、インストールに際し参考にさせていただいのはこちら様。

xrdp を用いて Windows OS から CentOS 7 に RDP 接続する | 焦げlog
http://kogelog.com/2015/03/02/20150302-01/


インストールは yum ひとつ、設定ファイルも無しでたいへんシンプルだったものの、いざ繋ごうとするとエラー。状況としては、デフォルトのTCPポートで繋ぎに行って問答無用のResetをくらっている。

# systemctl status xrdp

ここで、既に xrdp が立ち上がっている状況にさらに start をかけたりなんだり、少々錯綜したのだが、


xrdp-sesman.service failed #13
https://github.com/metalefty/X11RDP-RH-Matic/issues/13

こちらを参考にして、SELinuxの無効化とリブートで解消した。ここでの解消とは目先のエラーに対してだけで、まだ接続はできていないが。


# systemctl status xrdp
● xrdp.service - xrdp daemon
   Loaded: loaded (/usr/lib/systemd/system/xrdp.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2016-03-07 22:03:25 JST; 4s ago
 Main PID: 2179 (xrdp)
   CGroup: /system.slice/xrdp.service
           mq2179 /usr/sbin/xrdp --nodaemon

Mar 07 22:03:25 UC14.Samba4-AD.LOCAL systemd[1]: Started xrdp daemon.
Mar 07 22:03:25 UC14.Samba4-AD.LOCAL systemd[1]: Starting xrdp daemon...

プロセス的には問題なくなった。しかし、実際につながってログインすると今度は、

connecting to sesman ip 127.0.0.1 port 3350
sesman connect ok
sending login info to session manager, please wait...
xrdp_mm_process_login_response: login successful for display 10
VNC started connecting
VNC error -only supporting 8,15,15 and 24 bpp rdp connections


やれやれ、またまたド無知なジブンがさらに無知な領域に首を突っ込まなくては、正直しんどい。とは言っても時は2016年、瞬時に無料で世界中からヒントをもらえるサーフ父さんありがとうな時代。さらには、グローバリゼーションと言われて早10年超。

参考にさせていただいたのはこちら様。

つb@はてな
CentOS 6.3のxrdp 0.5.0で、日本語キーボードを使う(\,_,| 完全動作版)
http://tubapr.hatenablog.com/entry/2013/04/17/173045


全く同じ現象では無さそうだがまずは

# cat /var/log/xrdp-sesman.log
[20160307-21:49:55] [WARN ] [init:46] libscp initialized
[20160307-21:49:55] [CORE ] starting sesman with pid 2236
[20160307-21:49:55] [INFO ] listening...
[20160307-22:01:29] [INFO ] shutting down sesman 1
[20160307-22:01:30] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 7
[20160307-22:01:30] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 7
[20160307-22:01:30] [CORE ] shutting down log subsystem...


[20160307-22:03:25] [WARN ] [init:46] libscp initialized
[20160307-22:03:25] [CORE ] starting sesman with pid 2178
[20160307-22:03:25] [INFO ] listening...
[20160307-22:04:19] [INFO ] A connection received from: 127.0.0.1 port 33314
[20160307-22:04:19] [INFO ] scp thread on sck 8 started successfully
[20160307-22:04:19] [INFO ] ++ created session (access granted): username root, ip 172.16.16.51:49540 - socket: 8
[20160307-22:04:19] [INFO ] starting Xvnc session...
[20160307-22:04:19] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 10
[20160307-22:04:19] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 9
[20160307-22:04:19] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 9
[20160307-22:04:19] [INFO ] An established connection closed to endpoint: 127.0.0.1:33314 - socket: 8
[20160307-22:04:19] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 7
[20160307-22:04:19] [INFO ] An established connection closed to endpoint: 127.0.0.1:33314 - socket: 8
[20160307-22:04:19] [INFO ] Xvnc :10 -geometry 1364x768 -depth 0 -rfbauth /root/.vnc/sesman_root_passwd -bs -nolisten tcp -localhost -dpi 96
[20160307-22:04:29] [ERROR] X server for display 10 startup timeout
[20160307-22:04:29] [INFO ] starting xrdp-sessvc - xpid=2189 - wmpid=2188
[20160307-22:04:29] [ERROR] X server for display 10 startup timeout
[20160307-22:04:29] [ERROR] another Xserver might already be active on display 10 - see log
[20160307-22:04:30] [DEBUG] aborting connection...
[20160307-22:04:30] [INFO ] ++ terminated session:  username root, display :10.0, session_pid 2187, ip 172.16.16.51:49540 - socket: 8


いや、そもそも XSERVER を全くわかっちゃいないんだが。


XSEVER - X Japanese Documentation Project
http://xjman.dsl.gr.jp/man/man1/Xserver.1x.html


# service vncserver start
Redirecting to /bin/systemctl start  vncserver.service
Failed to start vncserver.service: Unit vncserver.service failed to load: No such file or directory.

参考にさせていただいた例はフォントカタログが...というものだったが、ここではそもそもサービスが存在しないと。サルマネもここまでか。


さて、ログに記されている中から、そもそも「私が何を読めない/知らないか」だが。

まず、bpp とは bit per pixel、色深度/Color depth であるようで。これが合致しないというなら、接続元側で何らかの変更ができるのでは?「画面の色」というオプションで設定可能だった。従来が32ビットだったので16ビットに変更してみる。すると、bpp の問題は見られなくなったが依然接続不可。

[20160307-22:09:33] [INFO ] A connection received from: 127.0.0.1 port 33360
[20160307-22:09:33] [INFO ] scp thread on sck 8 started successfully
[20160307-22:09:33] [INFO ] ++ created session (access granted): username root, ip 172.16.16.51:49709 - socket: 8
[20160307-22:09:33] [INFO ] starting Xvnc session...
[20160307-22:09:33] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 9
[20160307-22:09:33] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 9
[20160307-22:09:33] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 9
[20160307-22:09:33] [INFO ] An established connection closed to endpoint: 127.0.0.1:33360 - socket: 8
[20160307-22:09:33] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 7
[20160307-22:09:33] [INFO ] An established connection closed to endpoint: 127.0.0.1:33360 - socket: 8
[20160307-22:09:33] [ERROR] env_set_user: error creating .vnc dir
[20160307-22:09:33] [INFO ] Xvnc :10 -geometry 1364x768 -depth 8 -rfbauth /root/.vnc/sesman_root_passwd -bs -nolisten tcp -localhost -dpi 96
[20160307-22:09:33] [INFO ] starting xrdp-sessvc - xpid=2594 - wmpid=2593
[20160307-22:09:34] [INFO ] ++ terminated session:  username root, display :10.0, session_pid 2592, ip 172.16.16.51:49709 - socket: 8

ユーザの環境設定で、VNCのフォルダ? テンポラリの作成でエラー? というような内容か??? あるいは create なための何かが足りないか?

VNCサーバーの構築に必要なファイル
http://www.obenri.com/_vnc/vnc_server1.html


で、無知がさらにやらかすのは、足りなそうなものを、何の根拠もなく補ってみるツモリという行き倒れ作戦。

# yum install libvncserver.x86_64
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
138 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package libvncserver.x86_64 0:0.9.9-9.el7_0.1 will be installed
--> Processing Dependency: libminilzo.so.0()(64bit) for package: libvncserver-0.9.9-9.el7_0.1.x86_64
--> Running transaction check
---> Package lzo-minilzo.x86_64 0:2.06-8.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================================================
 Package                              Arch                           Version                                 Repository                    Size
================================================================================================================================================
Installing:
 libvncserver                         x86_64                         0.9.9-9.el7_0.1                         base                         233 k
Installing for dependencies:
 lzo-minilzo                          x86_64                         2.06-8.el7                              base                          15 k

Transaction Summary
================================================================================================================================================
Install  1 Package (+1 Dependent package)

Total download size: 248 k
Installed size: 750 k
Is this ok [y/d/N]: y
Downloading packages:
(1/2): libvncserver-0.9.9-9.el7_0.1.x86_64.rpm                                                                           | 233 kB  00:00:00
(2/2): lzo-minilzo-2.06-8.el7.x86_64.rpm                                                                                 |  15 kB  00:00:00
------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                           402 kB/s | 248 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : lzo-minilzo-2.06-8.el7.x86_64                                                                                                1/2
  Installing : libvncserver-0.9.9-9.el7_0.1.x86_64                                                                                          2/2
  Verifying  : libvncserver-0.9.9-9.el7_0.1.x86_64                                                                                          1/2
  Verifying  : lzo-minilzo-2.06-8.el7.x86_64                                                                                                2/2

Installed:
  libvncserver.x86_64 0:0.9.9-9.el7_0.1

Dependency Installed:
  lzo-minilzo.x86_64 0:2.06-8.el7

Complete!
[root@UC14 ~]#
[root@UC14 ~]#
[root@UC14 ~]# systemctl restart xrdp

結果は、

 VNC error - problem conncting
 some problem

さmぷろぶえm、いやせめてもう少し詳しくそこを。

ログを見るとエラーは以前と同様で、

 [ERROR] env_set_user: error creating .vnc dir
 
このエラーについてもう少し探してみるとこのような話が。

Integrating LDAP support into XRDP on Ubuntu 12.04 LTS
http://www.metallic-badger.com/integrating-ldap-support-into-xrdp-on-ubuntu-12-04-lts/

LDAPはさておいて、ホームディレクトリのテンポラリを作成する時点でNGのようで、これは無知なりの読解でもそう外れてはいないようだ。ただ、rootには既に、xrdp関連のログファイルやらがいくつか存在して、RDP接続のタイミングでタイムスタンプが更新されている。

あるいは、rootへRDPがUNIXの世界ではヒジョーシキか。別ユーザを作って試してみる。



...一般ユーザを追加したら、ログアウト中の背景黒で左上カーソル点滅状態のまま停止。


ってなんでやねん! sshでアクセスしていたのでrebootしたら、ブート進捗詐欺バーが右に到達した後に、やはり同じ状態で先へ進まず。sshアクセスはrefused、ttyの切り替え利かず、Ctrl+Alt+Delは利いたので rescue、が、症状は同じ。ここでやり直しかー、次はminimalから「おふぃすれでぃ」なユーザアカウントでも作ってみるか。試用の際にまんま見せたらお姉さんに怒られそうだが。


などと、こんな言い草をしている時点で既に、ビジネスマナーを甚だしく欠いていることは言うまでもない。



追記:

最終手段で、GNOME Desktop をぶち込んだらOKとなった。当初の目的はどこへやらだが。また、実際にXRDP接続がGNOMEデスクチップ、対面ログインの画面はcinnamonデスクトップな差異を目にするまで、あまりにもマヌケなカンチガイだと気付かなかった。何がカンチガイ!? この光景を目の当たりにするまで、XrdpはWindowsのリモートデスクトップと同様の機能だと思っていたことだ。まるで、昨今のホンダF1パワーユニットのゆとり欠陥ナルシスト設計ぐらい酷い。

「実際にやってみるまで妄想欠陥設計に気付かない」って、小学生にもはるかに劣るレベルでまったく理系じゃないし、どのツラ下げて表を歩けるやらだぜ AWESOME!!




0 件のコメント:

コメントを投稿