Windows10からUbuntu16.04へリモートデスクトップ接続する設定
接続される側(Ubuntu16.04)の設定
インストール
$ sudo apt install xrdp lxde
設定
$ echo lxsession -s LXDE -e LXDE > ~/.xsession
以下のファイルを編集する
$ sudo vi /etc/xrdp/xrdp.ini
- crypt_levelをlowからhighにする
- xrdp1セクションのport=-1をask=-1にする
端末を起動して
$ gsettings set org.gnome.Vino require-encryption false
サービスを起動
$ sudo service xrdp restart
左上の"コンピューターを検索"から"デスクトップの共有設定"と入力し、設定画面を開きます。
“他のユーザーが自分のデスクトップを表示できる"にチェックを入れて、リモートデスクトップアクセスを許可します。
“このマシンへのアクセスを毎回確認する"のチェックは外しましょう。これが有効になっていると、アクセスするたびに、Ubuntu側で許可しなくてはいけません。
Windowsからリモートデスクトップアクセス
標準のリモートデスクトップでアクセスします。
Windowsからアクセスする際は、consoleを選択します。
これで、Windows10からUbuntu16.04へリモートデスクトップアクセスできました。
まとめ
Windows10からUbuntu16.04へリモートデスクトップアクセスできました Windows標準のリモートデスクトップクライアント以外にも、Ultra VNCなども使えます。 Windows標準クライアントの場合はconsoleで接続する点に注意してください。
参考
Nginxでリバースプロキシサーバーを構築する【1つのグローバルIPで複数のドメイン名を振り分ける方法】
1つのグローバルIPしか持っていないが、複数のホスト名で振り分け先を変えたい場合、リバースプロキシを使います。 今回は、Nginxを使ってリバースプロキシを実現する方法について説明します。
Nginxのインストール
$ sudo apt install -y nginx
リバースプロキシの設定
例えば、hoge.co.jpというドメイン名でLAN内の192.168.1.100へアクセスを振り分ける場合
リバースプロキシ用の設定ファイルを作成します。ファイル名は任意で構いません。
$ sudo vi /etc/nginx/sites-available/hoge
server {
server_name hoge.co.jp;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
location / {
proxy_pass http://192.168.1.100;
}
}
設定を有効化します。
$ sudo ln -s /etc/nginx/sites-available/hoge /etc/nginx/sites-enabled/
サービスを再起動します。
$ sudo systemctl restart nginx
サイトを増やす場合は、同様にリバースプロキシの設定を増やしていけばOKです。
P650RG【NG-N-i5910GA1】のHDD【WD10JPVX】をSSD【850 EVO MZ-75E250B】に換装
マウスコンピューターのセールで買ったP650RGには、M.2 SSD(250GB)とHDD(1TB)が搭載されていました。
併用していると、HDDの性能の低さが際立ってしまうので、せめてSSDに換装することにしました。
環境
PC: P650RG【NG-N-i5910GA1】
交換前ストレージ(HDD): WD10JPVX
交換後ストレージ(SSD): 850 EVO MZ-75E250B
交換作業
まずは、PCの裏の蓋を外します。
左下に固定用のフレームにねじ止めされる形でHDDが収まっています。
側面から見た図。
HDDの固定用フレームをマザーボードに固定しているねじを外してから、HDDを固定しているねじを外し、用意したSSDを固定します。
固定用のフレームを、元会った通り固定します。
これで蓋を閉じれば完成です。
ベンチマーク
交換前HDD
CrystalDiskInfoで見ると、正常に動作していることがわかります。
CrystalDiskMarkでベンチマークをとった結果です。
2.5inch HDDなので、こんなものでしょう。
交換後SSD
次に、SSDのCrystalDiskInfo。正常に認識しています。
ベンチマーク結果
格段に上がりました。
比較
表にまとめると、こんな感じです。
読み込み速度(MB/s)
Seq Q32T1 | 4K Q32T1 | Seq | 4K | |
---|---|---|---|---|
HDD | 119.3 | 1.388 | 119.1 | 0.552 |
SSD | 548.9 | 198.3 | 510.9 | 35.39 |
書き込み速度(MB/s)
Seq Q32T1 | 4K Q32T1 | Seq | 4K | |
---|---|---|---|---|
HDD | 117.0 | 1.264 | 117.6 | 1.151 |
SSD | 504.2 | 178.2 | 475.9 | 98.75 |
段違いに上がっています。
ついでに、P650RGに標準搭載のM.2 SSDの速度も計測してみました。
恐ろしい速さですね。。
まとめ
P650RG【NG-N-i5910GA1】のHDD【WD10JPVX】をSSD【850 EVO MZ-75E250B】に換装する方法と、ベンチマーク結果(M.2 SSDも)をまとめました。 M.2 SSDの導入もそろそろ本格的に始めようかと思わせる測定結果となりました。
文字の横に水平線を表示するCSSテクニック【サンプルコードあり】
以下のように、文字の横に水平線を出すサンプルコード
まずはHTML
<h2><span>タイトル</span></h2>
続いてCSS
h2 { overflow: hidden; text-align: center; } h2 span { display: inline-block; padding: 0 0.5em; position: relative; } h2 span:before, h2 span:after { border-top: 1px solid; content: ""; position: absolute; top: 50%; width: 99em; } h2 span:before { right: 100%; } h2 span:after { left: 100%; }
水平線は内側の span 要素の :before と :after の擬似要素を左右に配置して表現しています。 これらに 99emや9999px など充分な幅を持たせ、はみ出した分は外側の h2 要素に指定した overflow: hidden により切り取ります。
Nginxのリバースプロキシで504 Gateway Timeoutエラー
読み込みに時間がかかるページの場合、初期設定のNginxのリバースプロキシでは504になることがあります。 ここでは、タイムアウトの時間を延ばして、エラーを回避する方法について説明します。
解決策
タイムアウトの時間を延ばします。
$ sudo vi /etc/nginx/conf.d/timeout.conf proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600;
サービスを再起動します。
$ sudo systemctl restart nginx
これでもtimeoutする場合は、タイムアウトの時間を延ばしていきましょう。
まとめ
Timeoutエラーを回避する方法について説明しました。 ただ、タイムアウトが起きること自体問題です。 恒久対処として、遅くなっている原因の分析と対策は別途必要になると思います。
bundle updateやgem installでkakasiをインストールしようとすると"libkakasi is not found"でエラーになる
gemやbundleでkakasiをインストールしようとすると、次のようなエラーが出た。
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /home/hoge/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/kakasi-1.0.2/ext/kakasi-config /home/hoge/.rbenv/versions/2.3.1/bin/ruby -r ./siteconf20170429-71637-q77g1z.rb extconf.rb checking fiddle... yes checking for kakasi... failed -- libkakasi is not found *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/home/hoge/.rbenv/versions/2.3.1/bin/$(RUBY_BASE_NAME) --with-kakasi-dir --without-kakasi-dir --with-kakasi-include --without-kakasi-include=${kakasi-dir}/include --with-kakasi-lib --without-kakasi-lib=${kakasi-dir}/lib extconf failed, exit code 1 Gem files will remain installed in /home/hoge/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/kakasi-1.0.2 for inspection. Results logged to /home/hoge/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0-static/kakasi-1.0.2/gem_make.out An error occurred while installing kakasi (1.0.2), and Bundler cannot continue. Make sure that `gem install kakasi -v '1.0.2'` succeeds before bundling.
解決方法
kakasiのインストール
こちらを参考 http://satolabo.0t0.jp/2017/03/09/ubuntu-replacement-by-kakasi/
共有ライブラリの更新
$ sudo echo "/usr/local/lib" >> /etc/ld.so.conf.d/usrlocal.conf $ sudo ldconfig
これで、gem installやbundle updateをすれば、無事にkakasiがインストールされます。
$ bundle update . . Installing kakasi 1.0.2 with native extensions . .