2014-12-30

【備忘録】XMind と Fedora 21

XMindは、マインドマップを作成できるソフトウェアです。

マインドマップを用いることで、物事を視覚的・構造的に整理しやすくなります。普段の業務の中に出てくるアイデアや発想、打ち合わせの内容などをマインドマップに書きとめておくことで、それぞれの物事の関係が非常に分かりやすくなります。こういった PC 上のツールがなければ、紙に書き出せば良いのですが、一度でも PC で利用できるツールを使ってしまうと、もう紙には戻れません。

マインドマップを扱うソフトウェアには、FreeMind という GPL の下で配布されるツールがあり、Fedora で利用できるのですが、個人的にはクローズドソースである XMind の方が機能的に使い易いと思っているので、こちらを使っています。XMind には無料版の XMind と、有料版の XMind Plus、XMind Pro が提供されています。ぞれぞれの機能の違いは下記にまとめられています。

alien による deb ⇒ RPM 変換

ここでは、無料版を Fedora で利用する場合について紹介します。Linux 用パッケージは以下のサイトから入手します。

Linux 版は残念ながら Debian/Ubuntu の deb パッケージのみ提供されていますが、これを alien で RPM へ変換することにします。以前、本ブログの過去記事「【備忘録】マインドマップツール XMind と alien --- rpm, deb などの変換ツール」で、alien を使った変換方法を紹介していますので、これと同じことをします。

# alien --to-rpm --scripts xmind-jp-linux-3.5.1.201411201906_amd64.deb
xmind-3.5.1-2.x86_64.rpm generated

これを、yum localinstall でインストールしようとしたところ、エラーになってしまいました。

# yum localinstall xmind-3.5.1-2.x86_64.rpm
読み込んだプラグイン:langpacks
xmind-3.5.1-2.x86_64.rpm を調べています: xmind-3.5.1-2.x86_64
xmind-3.5.1-2.x86_64.rpm をインストール済みとして設定しています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ xmind.x86_64 0:3.5.1-2 を インストール
--> 依存性解決を終了しました。
adobe-linux-x86_64                                          |  951 B  00:00     
...
(省略)
...
updates/21/x86_64/pkgtags                                   | 1.3 MB  00:01     

依存性を解決しました

================================================================================
 Package      アーキテクチャー
                            バージョン       リポジトリー                  容量
================================================================================
インストール中:
 xmind        x86_64        3.5.1-2          /xmind-3.5.1-2.x86_64        109 M

トランザクションの要約
================================================================================
インストール  1 パッケージ

合計容量: 109 M
インストール容量: 109 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test


Transaction check error:
  ファイル /usr/bin (パッケージ xmind-3.5.1-2.x86_64 から) は、パッケージ filesystem-3.2-28.fc21.x86_64 からのファイルと競合しています。
  ファイル /usr/lib (パッケージ xmind-3.5.1-2.x86_64 から) は、パッケージ filesystem-3.2-28.fc21.x86_64 からのファイルと競合しています。

エラーの要約
-------------

#

自動変換した XMind のSPEC ファイルで /usr/bin/usr/lib の両ディレクトリを定義しているが故の競合であると予想されます。あまり害が無いので rpm コマンドで強制的にインストールするのもアリですが、ここでは SPEC ファイルを編集して yum でエラーが出ないパッケージを作ることにしました。

無料でダウンロードできる XMind は、「デュアルライセンスについて XMind」を読む限り、RPM パッケージでの再配布ができそうですが、確認が不十分ですので、現在のところ、RPM パッケージの作成方法を以下に紹介するに留めます。

SPEC ファイルの編集

alien には、パッケージ変換に使用するファイルを一時ディレクトリに保存してくれる --generate というオプションがあります。このオプションを使って、以下のようにして SPEC ファイルを含むビルドに必要なファイルを取得します。

$ alien --to-rpm --scripts --generate xmind-jp-linux-3.5.1.201411201906_amd64.deb
Warning: alien is not running as root!
Warning: Ownerships of files in the generated packages will probably be wrong.
Directory xmind-3.5.1 prepared.
$ ls xmind-3.5.1
etc  usr  xmind-3.5.1-2.spec
$ 

ディレクトリ xmind-3.5.1 の中にある xmind-3.5.1-2.spec を編集します。と言っても下記の %file セクションの数箇所(緑の行)をコメントアウトするだけです。

Buildroot: /home/bitwalk/ダウンロード/xmind-3.5.1
Name: xmind
Version: 3.5.1
Release: 2
Summary: Professional & Powerful Mind Mapping Software
License: see /usr/share/doc/xmind/copyright
Distribution: Debian
Group: Converted/non-free/editors
...
(省略)
...
(Converted from a deb package by alien version 8.90.)

%files
%dir "/etc/"
%config "/etc/XMind.ini"
#dir "/usr/"
#dir "/usr/bin/"
"/usr/bin/XMind"
#dir "/usr/lib/"
%dir "/usr/lib/xmind/"
"/usr/lib/xmind/.eclipseproduct"
"/usr/lib/xmind/about.html"
%dir "/usr/lib/xmind/about_files/"
"/usr/lib/xmind/about_files/about_cairo.html"
"/usr/lib/xmind/about_files/mpl-v11.txt"
"/usr/lib/xmind/about_files/pixman-licenses.txt"
"/usr/lib/xmind/artifacts.xml"

RPM パッケージのビルド

編集した xmind-3.5.1-2.spec$HOME/rpmbuild/SPECS へ保存し、ディレクトリ xmind-3.5.1 を、xmind-3.5.1-2.x86_64 に名前を変えて $HOME/rpmbuild/BUILDROOT へコピーします。$HOME/rpmbuild/SPECS へカレントディレクトリを移し、下記のようにして RPM パッケージをビルドします。

$ rpmbuild -ba xmind-3.5.1-2.spec
ファイルの処理中: xmind-3.5.1-2.x86_64
...
(省略)
...
パッケージに含まれないファイルの検査中: /usr/lib/rpm/check-files /home/bitwalk/rpmbuild/BUILDROOT/xmind-3.5.1-2.x86_64
警告: インストール済み(ただしパッケージに含まれない)ファイルが見つかりました:
   /xmind-3.5.1-2.spec
書き込み完了: /home/bitwalk/rpmbuild/SRPMS/xmind-3.5.1-2.src.rpm
書き込み完了: ../xmind-3.5.1-2.x86_64.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.noBYpc
+ umask 022
+ cd /home/bitwalk/rpmbuild/BUILD
+ /usr/bin/rm -rf /home/bitwalk/rpmbuild/BUILDROOT/xmind-3.5.1-2.x86_64
+ exit 0
$ 

この場合、xmind-3.5.1-2.x86_64.rpm は、$HOME/rpmbuild/ に出力されます。インストールでは下記のように警告のようなものが出ますが、他パッケージと競合せずにインストールができます。

# yum localinstall xmind-3.5.1-2.x86_64.rpm
読み込んだプラグイン:langpacks
xmind-3.5.1-2.x86_64.rpm を調べています: xmind-3.5.1-2.x86_64
xmind-3.5.1-2.x86_64.rpm をインストール済みとして設定しています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ xmind.x86_64 0:3.5.1-2 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package      アーキテクチャー
                            バージョン       リポジトリー                  容量
================================================================================
インストール中:
 xmind        x86_64        3.5.1-2          /xmind-3.5.1-2.x86_64        109 M

トランザクションの要約
================================================================================
インストール  1 パッケージ

合計容量: 109 M
インストール容量: 109 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction (shutdown inhibited)
  インストール中          : xmind-3.5.1-2.x86_64                            1/1 
Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'
Unknown media type in type 'uri/mms'
Unknown media type in type 'uri/mmst'
Unknown media type in type 'uri/mmsu'
Unknown media type in type 'uri/pnm'
Unknown media type in type 'uri/rtspt'
Unknown media type in type 'uri/rtspu'
  検証中                  : xmind-3.5.1-2.x86_64                            1/1 

インストール:
  xmind.x86_64 0:3.5.1-2                                                        

完了しました!
# 

デスクトップ環境が MATE の場合は、メニューには「アプリケーション」→「オフィス」→「XMind」と登録されています。GNOME 3 の場合は、下記のようにアイコンが加えられます。

起動中の画面です。

以下のように無事起動しました。なお、デスクトップ環境は MATE を使っています。

ちょっとしたアイデアを整理したり、ブレインストーミングに使ったり、なかなか重宝するツールです。ロジックツリーなどマインドマップ以外のレイアウトも利用できるので、仕事の整理にも活用しています。下記は自分の強みをまとめているものです。使用例として紹介しておきます。

 

2014-12-21

【備忘録】USB Webcam と Cheese

Cheese は GNOME の Web カメラ用 (Webcam) アプリケーションで、2007 年に開催された Google Summer of Code に参加した Daniel G. Siegel 氏のプロジェクトで開発されました。Fedora では、以前からデスクトップのメニューの「サウンドとビデオ」に収録されていることは知っていましたが、使う機会がなく、何に使うアプリケーションかも知りませんでした。

たまたま Cheese を開いてみる機会があり、これが Webcam アプリであることを初めて知りました。試しに手許にあった ELECOM の UCAM-DLL300TRD を接続してみたら、普通に使えてビックリしました。PC は Fedora 21 x86_64 です。

なぜ、自宅の Linux で使いもしない Webcam を持っているかというと、数ヶ月前に Webcom を使う Skype の会議があり、時間もなかったのでやむなく会社の Windows の ノート PC 用に購入していました。上記 Webcam は販売終了の製品ですが、UVC, USB Video device Class に対応している Webcam であれば Linux で使えるようなので備忘録として残しておきます。

  1. Apps/Cheese - GNOME Wiki!
  2. Cheese (software) - Wikipedia, the free encyclopedia
  3. 第147回 UbuntuでUSBウェブカメラを使う:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社

2014-12-18

人工知能が急に進化し始めた! | TheWave

Deep Learning とは、機械学習アルゴリズムの1つで、人間の脳を模した構造をもつニューラルネットワークを多層に重ねた構造を持っています。日本語では「深層学習」と訳されます。Deep Learning の大きな特徴は、多段に重ねることによって抽象的なデータの表現を獲得することができることで、このことから真の人工知能への第一歩であると考えられています。

進化というものは、ひとたびブレークスルーが起きれば、どんどん先へ進んでいくもののように感じています。人工知能の進化をは異なりますが、100m 走における 10 秒の壁を思い浮かべます。

ソフトバンクの Pepper も、普及と共にどんどん進化していって凄い人工知能を持ったロボットになるのかもしれません。

調べてみると、既にオープンソースでも Deep Leaning に関するものがいくつか存在するようです。とりあえず、Deeplearning4j 4. を試してみようかと考えています。PC を買い換える動機になるような…。

関連サイト

  1. ニューラルネットの逆襲 | Preferred Research
  2. Pepper(ペッパー)登場 | 特集 | ロボット | ソフトバンク
  3. 「鉄腕アトム」も夢じゃない。AIの飛躍的進歩 | ガジェット通信
  4. Deeplearning4j - Open-source, distributed deep learning for the JVM

2014-12-15

魅惑の Qyoto (7) - Fedora 21 での動作確認

Qyoto は Qt の .NET バインディングです。Fedora 20 の時に、新しい Qyoto を入手して「魅惑の Qyoto」と題して、Mono 環境でサンプルを紹介していましたが、一時期 CentOS 7 へ乗り換えてから中断していました。Fedora 21 では、Fedora 標準のレポジトリから Qyoto のパッケージが利用できますので、まずは動作確認をしてみます。

Fedora 21 における Mono の開発環境

Fedora 21 における Mono / Qyoto の開発環境の主要なパッケージは、下記の通りです。

  • mono-core-2.10.8-8.fc21.x86_64
  • qt-4.8.6-18.fc21.x86_64
  • qyoto-4.14.3-1.fc21.x86_64
  • qyoto-devel-4.14.3-1.fc21.x86_64

Fedora 21 で Mono のバージョンが 2.10 から 3.4 へ移行するものと思っていましたが、あらためて Changes/Mono 3.4 - FedoraProject を確認すると、ターゲットリリースは Fedora 22 になっていました。なお、Mono の最新バージョンは 3.8 です。

Mono の今後

Microsoft は 11 月 12 日、.NET Framework のサーバーサイド向け技術 .NET Core をオープンソース化することを発表して関係者を驚かせました 1.。"Microsoft" という言葉と "オープンソース" という言葉が、今や同一の文章の中で使われる時代になったのです。Mono Project はこの動きに呼応して、今後統合に向けて動いていくことを表明しています 2.

  1. 「.NET Core」がオープンソース化、MacやLinuxもサポート | SourceForge.JP Magazine (2014年11月13日)
  2. .NET Source Code Integration | Mono(2014年11月18日)

そういうわけで、.NET にまつわる技術動向が注目されますが、まずは現状でできることを整理しておきましょう。

Hello World 再び

mono のバージョンは 2.10 ですが、ひとまず Hello World のプログラムの動作を確認してみます。「魅惑の Qyoto (1) - Hello Wold!」で紹介したサンプルで確認しますので、ソースを再掲します。

List: hello-qyoto.cs
using System;
using Qyoto;

/**
 * ZetCode Qyoto C# tutorial
 *
 * This program creates a quit
 * button. When we press the button,
 * the application terminates. 
 *
 * @author Jan Bodnar
 * website zetcode.com
 * last modified October 2012
 *
 * modified by Fuhito Suguri
 * last modified 13-May-2014
 */


public class QyotoApp : QWidget
{
    public QyotoApp ()
    {
        WindowTitle = "mono/qyoto";

        InitUI ();

        Resize (180, 60);
        Move (300, 300);
        Show ();
    }

    public void InitUI ()
    {    
        QPushButton but = new QPushButton ("こんにちは、世界!", this);

        Connect (but, SIGNAL ("clicked()"), qApp, SLOT ("quit()"));
        but.SetGeometry (10, 10, 160, 40);
    }

    [STAThread]
    public static int Main (String[] args)
    {
        new QApplication (args);
        new QyotoApp ();
        return QApplication.Exec ();
    }
}

コンパイルおよび実行例を以下に示します。

$ mcs hello-qyoto.cs -pkg:qyoto
$ mono hello-qyoto.exe

Mono の最近のバージョンについては、下記からパッケージをダウンロードして試してみる予定です。

  1. software.opensuse.org: パッケージのインストール: home:tpokorra:mono / mono-opt

2014-12-14

【備忘録】RPM Fusion

RPM Fusion は、Fedora プロジェクトに収録されていないパッケージを提供するレポジトリです。参考サイト [1] にあるように、いわゆる Fedora 非公式パッケージ用リポジトリです。

リポジトリは、オープンソースの free と、それ以外の nonfree の二種類が設けられ、free では Fedora に収録できないパッケージ、nonfree には、ビデオカードのドライバなどソースコード非公開のソフト、あるいは MP3 関連アプリや DVD 復号化ソフトといった、ライセンスの問題で Linux ディストリビューションに収録することが難しいパッケージが割り当てられています。

本ブログでは既に RPM Fusion については 2009 年に紹介していますが、ずいぶんと時間が経ったので、あらため紹介します。ただ、Fedora 21 がリリースされたことによって、RPM Fusion の方で何か変わったというわけではありません。

下記からのサイトから Fedora 21 用の、レポジトリへアクセスする RPM パッケージをダウンロードします。

ダウンロードしたパッケージを yum でインストールします。

# yum localinstall rpmfusion*.rpm
読み込んだプラグイン:langpacks
rpmfusion-free-release-21.noarch.rpm を調べています: rpmfusion-free-release-21-1.noarch
rpmfusion-free-release-21.noarch.rpm をインストール済みとして設定しています
rpmfusion-nonfree-release-21.noarch.rpm を調べています: rpmfusion-nonfree-release-21-1.noarch
rpmfusion-nonfree-release-21.noarch.rpm をインストール済みとして設定しています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ rpmfusion-free-release.noarch 0:21-1 を インストール
---> パッケージ rpmfusion-nonfree-release.noarch 0:21-1 を インストール
--> 依存性解決を終了しました。
adobe-linux-x86_64                                          |  951 B  00:00     
google-chrome                                               |  951 B  00:00     
updates/21/x86_64/metalink                                  | 7.5 kB  00:00     

依存性を解決しました

================================================================================
 Package                 アーキテクチャー
                                バージョン
                                     リポジトリー                          容量
================================================================================
インストール中:
 rpmfusion-free-release  noarch 21-1 /rpmfusion-free-release-21.noarch    9.7 k
 rpmfusion-nonfree-release
                         noarch 21-1 /rpmfusion-nonfree-release-21.noarch 9.9 k

トランザクションの要約
================================================================================
インストール  2 パッケージ

合計容量: 20 k
インストール容量: 20 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction (shutdown inhibited)
  インストール中          : rpmfusion-free-release-21-1.noarch              1/2 
  インストール中          : rpmfusion-nonfree-release-21-1.noarch           2/2 
警告: rpmfusion-nonfree-release-21-1.noarch: ヘッダー V3 RSA/SHA256 Signature、鍵 ID a668b376: NOKEY
  検証中                  : rpmfusion-nonfree-release-21-1.noarch           1/2 
  検証中                  : rpmfusion-free-release-21-1.noarch              2/2 

インストール:
  rpmfusion-free-release.noarch 0:21-1  rpmfusion-nonfree-release.noarch 0:21-1 

完了しました!
#

参考サイト

  1. Fedora非公式パッケージ用リポジトリ「RPM Fusion」正式オープン | マイナビニュース

2014-12-13

【備忘録】OpenSSH

SSH, Secure Shell は、暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコルです。一般に普及しているのはオープンソースで開発されている OpenSSH で、Linux でも標準的に利用されているので、単に SSH と言った場合、OpenSSH の実装系を指すことが多いそうです。

さて、Fedora 21 Workstation の PC へ、枕元のノート PC から ssh で接続しようとしたところ繋がりません。調べてみると sshd が有効になっていなかったので、systemctl コマンドで有効にしました。

# systemctl enable sshd.service

あとで状態を確認すると以下の通り。

# systemctl status sshd.service
 sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: active (running) since 土 2014-12-13 14:13:35 JST; 6h ago
 Main PID: 894 (sshd)
   CGroup: /system.slice/sshd.service
           └─894 /usr/sbin/sshd -D

12月 13 14:13:35 localhost.localdomain sshd[894]: Server listening on 0.0.0....
12月 13 14:13:35 localhost.localdomain sshd[894]: Server listening on :: por...
12月 13 14:44:45 localhost.localdomain sshd[1526]: Accepted password for bit...
Hint: Some lines were ellipsized, use -l to show in full.

これだけで、なにも追加で設定をすることなく他の PC から ssh で接続できてメデタシですが、設定等が詳しく紹介されているサイトがあるので、備忘録としてまとめました。

関連サイト

2014-12-10

祝 Fedora 21 リリース

Fedora 21 がようやくリリースされたようです。

Fedora 21 は下記のサイトから、Base パッケージの元に、Workstation、Server そして Cloud の 3 種類のパッケージで配布されています。

関連サイト


2014-12-06

『第二の地球を探せ! 「太陽系外惑星天文学」入門』を読んで

1995 年、ペガスス座51番星 (51 Pegasi) という恒星に、木星クラスの質量を持った惑星の存在が確認されました。これがはじめて発見された太陽系外惑星でした。それ以来、数多くの太陽系外惑星が発見されています。

本書は、天文学の現在までの歩みと、系外惑星の発見に情熱を注ぐ「プラネット・ハンター」たちの熱いドラマを交えて、数々の観測法が分かりやすく紹介されています。

地球に似た惑星は、銀河系、あるいは宇宙全体でどれくらいあるのか、地球以外にも生命は存在するのか―。21世紀を牽引する科学分野のひとつ、太陽系外惑星研究の第一人者が伝える、天文学・惑星科学の最先端の書です。

本書の「おわりに」の章が 2014 年 9 月で結んであり、初版 1 刷が 2014 年 10 月 20 日と、まさに最新の内容になっています。

私は、本書の内容に驚きと感動を覚えながら、一気に読みきってしまいました。

今から 10 年以上も前になりますが、2000 年 6 月に有限会社ビットウォークを設立して間も無いその年の暮れ、SETI@home にハマっていた私は、偶然にも O'Reilly の刊行予定に Beyond Contact: A Guide to SETI and Communicating with Alien Civilizations が載っているのを見つけました。迷わず O'Reilly Japan に連絡を入れて翻訳権と邦訳出版の交渉を始めました。

この手の科学読み物の翻訳業務は、会社の中核となるビジネスに育てられるかもしれないと、せっせと翻訳に励んだのですが…、結局、諸事情により出版までには至りませんでした。しかし、それこそ嘗めるようにして精読していたため、今も当時の太陽系外惑星の観測方法や発見状況がしっかり記憶に残っていたのです。そのため、この「第二の地球を探せ!…」を読んだ時、10 年ちょっとの間の技術の進歩に目を見張ったのでした。

すばる望遠鏡ケプラー衛星などによる最新の成果が平易な解説と共に散りばめられており、天文学ファンでなくとも読み進められる内容だと思います。

何光年も離れた恒星へ探査機を向かわせるためには、まだまだ人類の科学は未熟なのかもしれません。しかし、地球に届く光(赤外線などを含む)を観測することはできます。経済的な理由で、望遠鏡を衛星に載せて観測する次世代の地球型系外惑星撮像ミッションは、当初のスケジュールよりかなり遅れているそうですが、それでも近い将来、地球型系外惑星の撮像を目にする日がやってくることでしょう。

天文学ファンにはもちろんのこと、科学技術の進歩にご興味のある方へ、オススメの一冊です。

2014-12-03

週刊「マイ3Dプリンター」1月5日創刊へ--関連企業との連携で“一般普及”後押し

3D プリンターもいよいよ普及期にさしかかっているのでしょうか。いや、工業的には既に実用化していますが、低価格の 3D プリンターはこれからが普及期と言えるのかもしれません。そんな中でディアゴスティー二から「マイ3Dプリンター」が創刊されるそうです。マイ〜の響きに思わず買ってしまいたくなります。

ブックマークをしておきながら記事にするのを忘れてしまっていましたが、遅ればせながら備忘録としてブログに残しておきます。