17 Jan 2018, 15:13

UbuntuでWake on Lanするための設定メモ

はじめに

自宅のパソコンのwifi接続がどうも不安定で、たまに接続が切れる。そういうときは、USBのwifi子機を抜き差しすると復旧するのだけれども、今日は外出中にいきなり接続できなくなった(T_T)

そんな非常事態に備えて、外出中にパソコンを再起動して復旧を試みるために、Wake on Lan の設定をしたので、今日はそのメモです。

環境

  • Ubuntu 16.04

設定メモ

BIOS設定

BIOSの設定が必要。ここは省略。。なのだが、ここがわからずいろいろな設定を試した挙句、最後にBIOS初期化して、4時間かかった。

OS設定

wol設定の確認/変更に必要なethtoolを入れる。

$ sudo apt install ethtool

NICの名前を確認して、ethtoolを叩く。Wake-on: d で Wake on Lanが無効状態。 Wake-on: gで有効状態。

$ ifconfig
$ sudo ethtool enx343dc4787303
Settings for enx343dc4787303:
No data available

おりょ??なにも表示されない。おばかな頭で考えること数十分、どうやら無線LANでは Wake on Lan ができないという根本的なことに気づいたのたった!!

NICは通電している必要があるのだけれども、無線LANの子機はUSBでPCに刺さっているのだから、PCの電源が落ちれば電力供給されなくなって、動かなくなる。バカダー。

無線 Lan でも Wake on Lanしたい

無線Lan でも Wake on Lanしたい。調べると、イーサネットコンバーターというものがあり、これを購入し、有線をパソコンと コンバーターでむすぶと、あたかもその繋いだPCが物理LANでつながれているようにルータから見えるというもの。

以下をamazonでget.

NICの名前を確認して、ethtoolを叩く。今度こそ・・・

$ ifconfig
$ sudo ethtool enp0s31f6
 Settings for enp0s31f6:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: on (auto)
    Supports Wake-on: pumbg
    Wake-on: g
    Current message level: 0x00000007 (7)
                   drv probe link
    Link detected: yes

Wake-on: g となっていました。これでOSレベルでの設定ができていることになります。

ifconfigを叩いて、MAC アドレスを調べておく。

クライアントPCに wakeonlanのツールをインストール

クライアントPCにwakeonlanのツールを入れる。

$ sudo apt install wakeonlan

そして、いよいよ、Wake on Lanを実行、電源が入りました!

$ wakeonlan <Mac Address>

外出先から Wake on Lanしたい

外出先から、wake on lanをすることで、PCを起動したい。我が家はソフトバンク光を契約していて、ルータもレンタルなのでルータに port forwardingの設定をすればいけると思っていた。。。

しかし、あらゆる手段を試したのだが、できない!!

ここまでか・・・と思ったが、いろいろ情報収集をすると、どうやらRaspberry pi から wake on lanを実行する事例がいくつかあった。うちには、raspberry pi はないのだけれども、ほこりにまみれたロボコンマシンがあったのだった。こんなの↓

このボロットにsshで乗り込んで、プライベートネットワークからwake on lan を実行すればいけるのでは?

以前の設定メモを元に、sshで乗り込んで実行してみたところ、成功!

やったー。

14 Jan 2018, 05:38

x2goを使ってUbuntuでリモートデスクトップする

はじめに

この前から、Pythonのコードを書く際に、Jupyter NotebookではなくてPycharmを使おうかと思い、調べていた。どうも、PyCharmのProfessional Editionには、リモートデバッグ機能があって、サーバ上にあるインタプリタを実行できるようだ。これは便利。たとえば、例としてAWS上で動いているPythonと通信して、ローカルでデバックできたりする。

このリモートデバッグ機能と前回紹介した、Scientific Modeで 心は Professional Editionに課金しようとしていたのだけれども、もう少し調べてやめた。それは、どうもProfessional EditionでなくCommunity Editionでも 自分がやりたいデバッグができそうだからだ。

それは、サーバ上にリモートデスクトップして、サーバ上でPyCharmを動かすということ。というわけで、Ubuntuでリモートデスクトップをするためのメモ。

環境

  • サーバ、クライアイトともに Ubuntu 16.04 LTS

x2goをつかう

Ubuntu用のリモートデスクトップ用アプリ、X2Goをつかう。

いろいろと、ツールを試してみたのだけれども、x2goが最も安定していたので、これに決めた。

サーバ側にツールをインストール

$ sudo apt-add-repository -y ppa:x2go/stable
$ sudo apt update
$ sudo apt -y install x2goserver x2goserver-xsession

クライアント側にツールをインストール

apt-get install x2goclient

メニューバーから[Session]-[New Session]を選択。以下のように、設定をする。

ポイントは、 Session Type. Ubuntuでは、KDE 、LXDE、XFCEを選択すること。それしか使えないらしい。ジブは、xfceを選択。

以下で、XFCEをインストール。

sudo apt-get install xfce4

これで、X2Goクライアント上でセッションを選択して、ログインするユーザー名とパスワードを入力して[OK]ボタンをクリックすれば、リモートデスクトップ接続ができる。

これで、PyCharmを起動して開発すれば、リモートデバッグをせずとも、サーバ上のリソースが利用できるので、便利。しかし、なぜだかたまにハングするのだけれども。。。

 

追記

LXDEを使ったほうが、xfceよりも圧倒的にさくさく動きました。

sudo apt install -y lubuntu-desktop

12 Jan 2018, 12:09

ASUS ZenScreen MB16ACで快適楽々デュアルディスプレイ

はじめに

新パソコンを買ったのだが、せっかくなのでデュアルディスプレイにしたくなってきた。新パソコンは自宅サーバとして稼働させて普段は、有料自習室で作業することが多いので、モバイルで持ち運べるものを新調したくなった。いろいろ調べたところ、ASUSが一番スペックがよかったので購入した。

縦型に対応していなかった・・・

このASUSを選んだ一番の理由は、縦にサブディスプレイを使いたかったから。自宅も外出先もUbuntuを利用しているので、対応するドライバを入れて利用する必要があるのだけれども、残念ながらドライバが対応していなかった(T_T)。

Rotation is not supported due to missing functionality in the generic modesetting driver

Ubuntu用ドライバ DisplayLinkをインストール

Ubuntuで利用するには、DisplayLinkというドライバをインストールする必要がかある。

これをお手軽に実施するツールがある。

ダウンロードしたスクリプトを実行すると、よしなに関連ライブラリのインストールと設定をしてくれる。

xrandrで設定

デュアルディスプレイ用の設定をしていく。 まずはモニタが認識されているか確認。

$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x47 cap: 0x9, Source Output, Sink Offload crtcs: 4 outputs: 4 associated providers: 1 name:Intel
Provider 1: id: 0x106 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 1 name:modesetting

sourceの設定。

xrandr --setprovideroutputsource 1 0

xrandrでモニタ名を調べる。

$ xrandr
eDP1 connected primary 1600x900+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
DVI-I-1-1 connected (normal left inverted right x axis y axis)

そしていよいよデュアルディスプレイのコマンド投入。

xrandr --output DVI-I-1-1 --auto --right-of eDP1

元に戻すには、

xrandr --output DVI-I-1-1 --off

06 Jan 2018, 12:21

Ubuntu16.04にCUDAとcuDNN入れるまでの設定メモ ~ GPU版xgboost導入まで

はじめに

NVIDIAのGPUつきのパソコンを購入したので、セットアップメモです。

xgboostをGPUで動かすところを最終目標とします。

環境

  • Ubuntu 16.04 LTS
  • CUDA 9.1
  • cuDNN 7.0.5
  • Python 3.6
  • Anaconda 3.5
  • xgboost

NVIDIA GPU環境に必要なツール

なにしろGPUを購入してみたものの、無知なもので、まずはどういう仕組みで動かせるのか調べることにした。NVIDIA GPUを動かすためには以下の2つが必要らしい。

  • NVIDIA CUDA Toolkit ・・・ NVIDIA ドライバーと開発環境
  • cuDNN・・・ディープ・ニューラル・ネットワーク(DNN)ライブラリ

いきなりDockerという手もあるが

いろいろ調べると、サクッとまるっとこれらをインストールする簡単な方法があった。それが、Dockerだ。

nvidia-dockerという Dockerのラッパーツールがある。これを利用すると、以下の引用図のようなアーキテクチャでコンテナを動作させることができる。

dockerをつかうことのいいところは、ディープラーニング用ライブラリごとに環境を用意できるところ。たとえば、Tensorflow, keras, pytorchの3つを使いたい場合、各ツールでサポートしているcuda/cudnnが違うと使えない。dockerを使えば、それぞれのライブラリごとに環境を用意できるのだ。

ただ、途中までインストールをしかけたのだが、dockerに関する知識が乏しく、時間もなかったので、今回は見送った。いつかnvidia-dockerを使いこなす。

NVIDIA CUDA Toolkitのインストール

とりあえず最新が最適化されていて高速だろうという理由から、最新版の9.1をインスールする。Tensorflow1.4は8でないと動かないらしい。以下のリンクにインストール手順がある。

.bashrcを編集してパスを通す。

export PATH=/usr/local/cuda-9.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda

PCを再起動する。再起動後、インストールできたかバージョンを確認する。

$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  384.90  Tue Sep 19 19:17:35 PDT 2017
GCC version:  gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5)

$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85

NVIDIA cuDNN のインストール

次に cuDNNをインストールする。

cuDNNはNVIDIA で アカウントを作成しないとDownloadできない。wgetもできない。不便。

アンケートに回答後、以下の3つをダウンロードして、サーバにscpで転送。

  • cuDNN v7.0.5 Runtime Library for Ubuntu16.04 (Deb)
  • cuDNN v7.0.5 Developer Library for Ubuntu16.04 (Deb)
  • cuDNN v7.0.5 Code Samples and User Guide for Ubuntu16.04 (Deb)

sudo dpkg -iでインストール。インストールできたかテストしてみる。

$ cp -r /usr/src/cudnn_samples_v7/ ~/tmp/cudnn_samples_v7/
$ cd ~/repo/cudnn_samples_v7/mnistCUDNN
$ make clean && make
$ ./mnistCUDNN
Test passed!

Anaconda環境の導入

データサイエンスのためのよくばりセット、Anacondaを入れる。これを入れればデータ解析のための大抵のツールが手に入る。最新版を落としてきてインストール。

kaggle用の環境をつくる。

$ conda create -n kaggle
$ source activate kaggle

GPU対応 xgboost

GPU対応のxgboostを動かすには、ソースからビルドする。

Pythonモジュールをインストール

$ cd python-package; sudo python setup.py install

GPU版 xgboost めちゃくちゃハヤイ!!

04 Jan 2018, 15:35

自宅のUbuntuサーバに外からsshでアクセスする

自宅に高価なパソコンを購入したので、どうせなら外出先でもアクセスしたい。

なので、外部から自宅サーバにsshする方法を調べて設定してみた。

環境

  • ソフトバンク光 BBユニット
  • Ubuntu 16.04 LTS (サーバもクライアントも)

ssh鍵認証でログインする

第一ステップとして、ローカルネットワーク、つまり自宅内のネットワークでssh接続できることを目指す。パスワード認証ではなくて、ssh鍵認証をする。ハッキングが怖いので。

これは、5年前!に書いた自分の記事が役に立った。整理しつつ、再掲。

サーバ側の設定

サーバ側にssh serverを インストールする。

sudo apt install openssh-server

これでOk.簡単です。次にsshの設定をいじる。 /etc/ssh/sshd_configを管理者権限で編集

sudo nano /etc/ssh/ssh_config

//ルートでのログイン禁止
PermitRootLogin no

//RSA認証の有効化
RSAAuthentication yes

//パスワードによる認証を許可
PasswordAuthentication yes

//空のパスワードは拒否
PermitEmptyPasswords no

//チャレンジレスポンス認証を不許可
ChallengeResponseAuthentication no

設定の反映のために再起動。

systemctl restart sshd

クライアント側の設定

クライアントの設定。といってもsshコマンドはデフォルトで入っている。

// 認証公開鍵の作成
$ ssh-keygen -t rsa

// いくつか質問されるのでEnter連打。

クライアントの公開鍵をサーバに送ります。安全のために、ここではscpコマンドを使うのがよいでしょう。

$ scp ~/.ssh/id_rsa.pub  tsu-nera@XXX.XXX.XXX.XXX:

再びサーバ側の設定

scpで送った鍵を保存する。

$ cat id_rsa.pub >> .ssh/authorized_keys
$ rm id_ras.pub

$ chmod 600 .ssh/authorized_keys

再度、sshd_configの設定を編集.

//パスワードによる認証を許可しない
PasswordAuthentication no

再起動して終了。

sudo systemctl restart sshd

ローカルIPアドレスを固定する

ローカルIPアドレス(プライベートIPアドレス)は、DHCP機能によって自動的に振られるので、これを固定IPアドレスにする。

固定の方法なのだけれども、ここでかなりハマった。以下の記事を参考に/etc/network/interfacesを覗いてみたのだけれども・・・

あれ、Loopbackのnicしかないyo!!

ということで、ここでハマった。いろいろ調べてみると、15.xからここらへんの仕様変更があったようで、名前が記事とは違うらしい。名前どころか、仕組みも違うみたい。詳しくは調べきれていないのだが、Network Managerというserviceに置き換わろうとしていて、そのフロントエンドが nm-appletというアプリだそうだ。

というわけで、nm-appletをいじる。これは、右上のネットワーク接続を示すアプレットのこと。これで、まずは接続情報というところをチェックする。Ipv4の欄の

  • IPアドレス
  • ブロードキャストアドレス
  • サブネットマスク
  • デフォルトゲートウェイ

をチェックしてメモする。そして、接続を編集するを選択して、現在接続中の通信を選択して編集を押す。Ipv4設定を選択し情報を以下のように入力する。

ここでは、192.168.3.5を固定IPアドレスにした。これでIPは固定になるはず(自信ないです。。。)

ssh port を 22から 10022に変更する

ssh は port 22 なのだけれども、これを変更する。ハッカーに攻撃されないようにね。

設定ファイルを開き、下記のように変更する。

$ sudo nano /etc/services

//前
ssh              22/udp     # SSH Remote Login Protocol
ssh              22/tcp     # SSH Remote Login Protocol

//後
ssh              10022/udp     # SSH Remote Login Protocol
ssh              10022/tcp     # SSH Remote Login Protocol

グローバルIPアドレスでアクセス

さあ、ローカルネットワークではこれでssh接続できるようになった。次はグローバルだ。まずは、自分のグローバルIPアドレスを以下から調べる。

ソフトバンク光BBユニットの設定からポート開放設定

自分の家のルータの設定を変更して、上で設定した10022番ポートがホストに回してくれるよう設定する。

  • http://172.16.255.254/ に接続、user/userでログイン
  • 詳細設定を開く -> ポート転送
  • 有効/無効 -> 有効
  • プロトコル -> tcp
  • WAN/LAN側ポート両方 -> 10022-10022
  • 転送先IPアドレス -> 自分のローカルipアドレス

ルーターを再起動する。

No-IPを使ってグローバルIPアドレスを DDNSで追跡する

グローバルIPアドレスは気まぐれで変更されてしまう。なので、変更を追跡してくれるサービスを利用する。DDNS(Dynamic DNS)というらしい。No-IPというサービを利用する。

これに登録して、fox10225fox.ddns.netというドメインを取得した。

最後の仕上げ

以下のコマンドで、アクセスできれば目標達成。

ssh -p 10022 tsu-nera@fox10225fox.ddns.net

ちなみにヘアピンNATに注意

同一ネットワーク内からグローバルIPにアクセスしようとすると、アクセスが失敗する。これは、ヘアピンNATと呼ばれているルーターの仕組みの問題。

ヘアピンNAT対応していないルータをつかっていると、どんなに設定をいじってもアクセスが失敗する(これでとても時間をつかった)

/etc/hostsを編集する方法がネットにたくさん散見された。これで試したところ、うまく行った。

$ sudo /etc/hosts

192.168.3.5 fox10225fox.ddns.net

03 Jan 2018, 06:47

Ubuntu で NVidia ドライバを使っている時の不具合

ドスパラでゲーミングPCガレリア(Galleria)を買ったのだけれども、 Ubuntu16.04をインストールしたら、解像度もへんてこだし、音も出ないしでいろいろ不具合がでた。PCのスペックは前記事の記事を参照。

いろいろ試してみたところ、どうもNVIDIAのドライバがインストールされていないからだった。

コンピュータの検索から、システム設定 > ソフトウェアとアップデートを選択。

追加のドライバータブを選択。NVidia CorporationからNVIDIA binary driverを選択。

これをインストールすれば、解像度もモニターに合うし、音も出る。誰かの助けになれば。

29 Jul 2017, 06:53

Linuxの親指シフトでMozcが使える!oyainputが公開された・・・感動

Linuxの親指シフターにとって、感動的なソフトを発見してしまった。oyainput というソフト。

今までLinuxで親指シフトを利用しようとするときは、Anthyというあまり賢くないIMEを使うしかなかった。Google日本語入力のオープンソースであるMozcがつかえればいいのだが、これが今まで使えなかった。

それが、oyainputをつかうと、IMに Mozcを指定することができるのだ!これは感動的だ。感謝!!!

起動の不具合と解決方法2点

しかし、使おうとすると問題が発生。なんとか解決したのでメモ。

起動するとxmodmapの設定が無効になる

Linuxのキーボードのキーマップ(CtrlをCapsLockに割り当てるなど)を変更するために、xmodmapを利用しているのだけれども、その設定が oyainputを起動すると無効になってしまう。

なので、oyainputを叩いたあとに、

xmodmap ~/.xmodmap

を叩きなおすと、再度有効になった。ちょっと焦る。

起動するとキーボードが2つ検出される

multiple keyboard is detected.というメッセージがでる。Logicoolの BlueThoothマウスをつかっているのだが、これがキーボードとして認識されてしまう。なんとかしようとソースコードを調査。以下のコマンドを叩いて、キーボードを調べているようだ。

$ grep -E 'Name=|Handlers|EV=' /proc/bus/input/devices| grep -B2 'EV=1[02]001[3Ff]'
N: Name="AT Translated Set 2 keyboard"
H: Handlers=sysrq kbd event3 leds
B: EV=120013
--
N: Name="Logitech MX Anywhere 2"
H: Handlers=sysrq kbd mouse0 event5 leds
B: EV=12001f

なるほど、2つ現れる。ソースでは、正規表現でEV=120013,12001F,12001fの三種類をキーボードとして認識しているようだ。その部分を、120013のみ認識するように書き換えてコンパイル。

これはあまりよくない解決方法だけれども、これでmultiple keyboard is detectedというメッセージはでなくなった。

最後に自動起動設定

~/.profileに以下の二行を追加。

oyainput &
xmodmap ~/.Xmodmap

これで、立ち上がり時に自動起動するようになった。

25 Jul 2017, 02:11

Ubuntuに Leap Motion SDKをインストールした作業メモ

机の中に眠っていたLeap Motionを数年ぶりに使ってみようと思う。

Ubuntuに Leap Motion SDKをインストールした作業メモです。

環境

  • Ubuntu 16.04
  • Leap Motion SDK 2.3.1

SetUp

公式サイトからLinux用のSDKをダウンロード

cd Downloads
tar xvzf Leap_Motion_SDK_Linux_2.3.1.tgz
cd LeapDeveloperKit_2.3.1+31549_linux
sudo dpkg -i Leap-2.3.1+31549-x64.deb

エラーが発生した。leap deamonがない。

Failed to start leapd.service: Unit leapd.service not found.
dpkg: パッケージ leap の処理中にエラーが発生しました (--install):
 サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 5 を返しました
ureadahead (0.100.0-19) のトリガを処理しています ...
ureadahead will be reprofiled on next reboot
処理中にエラーが発生しました:
 leap

解決策がForumにあった。パッチを当てればいいらしい。(パッチは結局失敗する、後述)

  • Leap Motion SDK fails to install properly on Ubuntu 15.04 – Customer Support – Leap Motion Community

    Download the .tgz file from https://www.leapmotion.com/setup120, extract, and download the patch file to /tmp/patch:
    tar xzf Leap_Motion_Setup_Linux_2.3.1.tgz
    cd Leap_Motion_Installer_Packages_release_public_linux
    wget -O /tmp/patch https://gist.githubusercontent.com/jmwilson/8e6c579eac5fa7fa9f0d/raw/0b597ceb1f8184952bf067267ac4171691949068/patch
    
    Extract the .deb file into a new leap directory and enter it:
    dpkg-deb --raw-extract Leap-2.3.1+31549-x64.deb leap
    cd leap
    
    Patch the contents of the current directory:
    patch -p2 </tmp/patch
    
    Go back to the parent directory and build a new .deb file:
    cd ..
    fakeroot dpkg-deb --build leap (this can take a while...)
    
    Install the patched .deb:
    sudo dpkg --install leap.deb
    

patchを当てても動かなかった。他の人も同様の症状がでているみたい。

解決策がforumにあった。

  • Linux install of SDK fails – Development – Leap Motion Community

    1 - After the install failure, I simply uninstalled with:

    sudo dpkg -r leap

    2 - Now, with no leap installed yet, I followed the post above and just created the file as mentioned there (I used the terminal to write the following command, to use the nano text editor as root user):

    sudo nano /lib/systemd/system/leapd.service

    3 - I pasted that content (reproduced here for easiness): (also please note that on Ubuntu terminal, you paste with CTRL+SHIFT+V instead of just CTRL+V)

    Found by Kevin Cole 2014.11.22 at

    https://github.com/atejeda/leap-fedora-rpm

    #

    Remember to:

    #

    ln -s /lib/systemd/system/leapd.service /etc/systemd/system/leapd.service

    systemctl daemon-reload

    # [Unit] Description=LeapMotion Daemon After=syslog.target [Service] Type=simple ExecStart=/usr/sbin/leapd [Install] WantedBy=multi-user.target

    4 - Saved (CTRL+O then ENTER), and exited (CTRL+X)

    5 - Still using the terminal, executed the two commands from that same post, BUT I included the sudo prefix to run them as root user:

    sudo ln -s /lib/systemd/system/leapd.service /etc/systemd/system/leapd.service sudo systemctl daemon-reload

    6 - All is right now and we can properly install. So, I just installed the original package:as in the official Leap guide:

    sudo dpkg –install Leap-2.3.1+31549-x64.deb

    (please just note that I'm using a x64 Ubuntu, so I installed the 64 bits package)

    7 - Done!!!

これでうまくいった!

確認

LeapControlPanelを起動する。ツールバーにLeap Motionのアイコンがでて、緑色になった。

試しに、Diagnostic Visualizerを起動してみる。手が正しくトラッキングされていることが分かる。

21 Jun 2017, 22:04

Ubuntu での PyCharm 日本語化設定

Python の統合開発環境 PyCharm, デフォルトでは英語ですが日本語化できるようだ。

Eclipse で有名な Pleiades が日本語化のプラグインを配布している。

PyCharm を日本語化する手順は、以下。

ところが、Linux の環境について描かれていなくて少し迷ったので、 Linux での PyCharm 日本語化設定を備忘録としてメモしておきます。

環境

  • Ubuntu 16.04
  • PyCharm Communite Edition 2017.1
  • Pleiades 1.7.26

日本語化する手順

  1. Pleiades の配置 ——————

http://mergedoc.osdn.jp/ から Pleiades プラグインの “最新版ダウンロード”をクリックしてダウンロード。

(図を借ります)

zip を解凍。Linux の、p、plugins/jp.sourceforge.mergedoc.pleiades を

(PyCharm を配置したディレクトリ)/plugins 

の配下にコピーする。

  1. 起動オプションの編集 ———————–

PyCharm を起動して、ツールバーから Help : Edit Custom VM Options… を選択する。

これで、(PyCharm を配置したディレクトリ)/bin、p、pycharm.vmoptions というファイルが生成される。

編集画面が開くので、以下をファイルの末尾に貼り付け。

-Xverify:none
-javaage(P(Pleiades を配置した場所のフルパス)/jp.sourceforge.mergedoc.pleiades/pleiades.jar

以上、これで PyCharm を再起動すれば、日本語化されている。

01 Jan 2017, 07:00

GNU Emacs 25.1 を Ubuntu16.04 LTS にソースからビルドしてインストールする

2016 年 917 に Emacs25.1 がリリースされたのですが、Ubuntu16.04 LTS で apt-get で Emacs を インストールすると、Emacs24.5 がインストールされてしまう。

なので、ソースコードから Emacs25.1 をインストールすることにした。

事前準備

以下のモジュールを入れておく。

[sourcecode language=”bash” title=”” ]
sudo apt-get install build-essential checkinstall
[/sourcecode]

Emacs24 に依存するライブラリをインストールする。 Emacs 24 と 25 は、同じ依存関係を持っている。

なお、デフォルトでは、build-dep ができないので、 以下を参考に設定を有効にする。

[sourcecode language=”bash” title=”” ]
sudo su -c “grep ‘^deb ‘ /etc/apt/sources.list | \
sed ‘s/^deb/deb-src/g’ > /etc/apt/sources.list.d/deb-src.list”

sudo apt-get build-dep emacs24
[/sourcecode]

Emacs のインストール

ダウンロード

<div class="outline-text-3" id="text-orge86a210">
  <p>
    GNU のページから Emacs のアーカイブをダウンロードして、解凍する。
  </p>

  <ul class="org-ul">
    <li>
      <a href="http://ftp.gnu.org/gnu/emacs/">http://ftp.gnu.org/gnu/emacs/</a>
    </li>
  </ul>

  <p>
    [sourcecode language=&#8221;bash&#8221; title=&#8221;&#8221; ]<br /> wget https://ftp.gnu.org/gnu/emacs/emacs-25.1.tar.gz<br /> tar xf emacs-25.1.tar.gz<br /> cd emacs-25.1<br /> [/sourcecode]
  </p>
</div>

ビルド

<div class="outline-text-3" id="text-org74540f1">
  [sourcecode language=&#8221;bash&#8221; title=&#8221;&#8221; ]<br /> ./configure</p> 

  <p>
    # エラーしたので以下を追加で入れた。<br /> sudo apt-get install libxpm-dev libjpeg-dev libgif-dev libtiff5-dev
  </p>

  <p>
    ./configure<br /> make<br /> [/sourcecode]
  </p>
</div>

インストール

<div class="outline-text-3" id="text-org8aa474e">
  <p>
    sudo make install ではなくて、sudo checkinstall を使う。
  </p>

  <p>
    [sourcecode language=&#8221;bash&#8221; title=&#8221;&#8221; ]<br /> sudo checkinstall<br /> [/sourcecode]
  </p>

  <p>
    deb パッケージが作成されて、インストールされる。emacs_25.1-1_amd64.deb
  </p>
</div>

アンインストール

<div class="outline-text-3" id="text-orgc20b1d8">
  [sourcecode language=&#8221;bash&#8221; title=&#8221;&#8221; ]<br /> # sudo dpkg -r emacs-25<br /> [/sourcecode]
</div>

追記: 170102 もっとお手軽な方法

deb パッケージが配布されていた。

[sourcecode language=”bash” title=”” ]
sudo add-apt-repository ppa:kelleyk/emacs
sudo apt-get update
sudo apt-get install emacs25
[/sourcecode]