2015-05-31

ASUS X200MA に Ubuntu 15.04 をインストール

Fedora 22 がリリースされましたので、2 月に長期出張の前に慌てて購入したノート PC、ASUS X200MA [1] にインストールすることにトライしました。

まず Fedora 22 の ISO イメージを [2] からダウンロードして、[3] の Rufus を使って Windows 8.1 上で、起動可能な USB メモリのイメージを作成しました。これは、Fedora 用に使用しているメインのデスクトップ PC が古く、UEFI のブート用メディアを作成できなかったためです。あとは、[4] に従って 注)BIOS などの設定をして起動してみたのですが…、残念ながらインストーラの UI が起動するところまで進みませんでした。

注) ただし、DVD ドライブと記載されている部分を USB メモリに読み替えました。

インストーラが止まったところのスクリーンを書き留めておきました。

...
[  OK  ] Mounted Configuration File System.
[  OK  ] Started Show Plymouth Boot System.
[  OK  ] Reached target Paths.
[  OK  ] Reached target Basic System.
[  206.342765] dracut-initqueue[381]: Warning: Could not boot.
[  206.417323] dracut-initqueue[381]: Warning: /dev/disk/by-label/Fedora-Live-WS-x86_64-22-3 does not exist
[  206.419888] dracut-initqueue[381]: Warning: /dev/mapper/live-rw does not exist
         Starting Dracut Emergency Shell...
Warning: /dev/disk/by-label/Fedora-Live-WS-x86_64-22-3 does not exist
Warning: /dev/mapper/live-rw does not exist

Generating "/run/initramfs/rdsosreport.txt"

Entering emergency mode. Exit the shell to continue.
Type "journalctl" to view system logs.
You might want to save "/run/initramfs/rdsosreport.txt" to a USB stick or /boot
after mounting then and attach it to a bug report.

dracut:/# _

こういう不具合は自力で解決できないので、Fedora 22 の ASUS X200MA へのインストールは諦めるしかありませんでした。しかし、Ubuntu をインストールした事例が [4] にあるわけですから、思い切って Ubuntu を試してみることにしました。[4] の記事では Ubuntu 14.04 LTS のインストールを扱っていましたので、自分のノート PC には 15.04 を試してみました [6]。

前述と同じように Rufus を使って Ubuntu の ISO イメージを USB メモリにコピーして [4] に従って試したところ、実にあっさりとインストールができてしまいました。Ubuntu のインストール方法については、紹介されているサイトが多いので割愛します。

Linux については 20 年近く、Red Hat 系のディストリビューションを使ってきましたが、Debian 系の人気ディストリビューションである Ubuntu を知る良い機会かもしれません。

とにかく Windows は嫌いです。Windows 8.1 の UI は使っているうちに慣れてきましたが、バックグラウンドでいつも何かが動いていて、ただでさえ非力な CPU がますます遅くなります。しばらくするとアップデートの確認などのメッセージが次々と出て来てうんざりです。Linux であってもバックグラウンドでジョブは動いていますが、程度の差はあきらかです。要するにプリインストールされた Windows PC を適切にチューニングせずに使うと、不要なアプリケーションもたくさんインストールされているので、それが煩わしいだけなのかもしれません。ワークステーション的な用途では、自分の操作することに OS が優先的に対応してくれないとストレスは溜まるばかりです。

同じ Linux でも、純オープンソースの Fedora よりは、デバイスドライバの対応などは格段に充実しているという印象を勝手に抱いている Ubuntu ですが、果たして最近のノート PC での使い心地がいかがなものか、期待をして使ってみようと思います。それに、今更ですが deb パッケージの仕組みも学習しようかな。

参考サイト

  1. bitWalk's: ASUS ノートブック
  2. Download Fedora Workstation
  3. Rufus - 起動可能なUSBドライブを簡単に作ろう
  4. ASUS X200MAにUbuntu14をインストール - Make And Motion
  5. Ubuntu Desktop 日本語 Remixのダウンロード | Ubuntu Japanese Team

2015-05-27

Fedora 22 released and available now - Fedora Magazine

5 月 26 日にリリースされた Fedora 22 ですが、Fedora プロジェクトの日本語ホームページが対応していないみたいです。

 

2015-05-04

JavaFX/TableView でカラムヘッダーを二段にする

JavaFX の TableView ウィジェットで、カラムヘッダー (TableColumn) の部分を二段にして、カラム名の他にカラムの属性を視覚的に設定できるような UI を作りたかったので、いろいろ調べてみたところ、やり方が判りました。どうやら、Nested Header と呼ぶらしいですが、ここでは一つのカラムに二つのタイトルヘッダーを二段にして表示する簡単なサンプルを紹介します。

動作環境は次の通りです。

  • OS: Fedora 22 beta x86_64
  • Java: Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
  • IDE: NetBeans IDE 8.0.2
リスト:TableViewTest1.java 
package tableviewtest1;

import java.util.ArrayList;
import java.util.List;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class TableViewTest1 extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        TableView table = new TableView();
        table.setEditable(true);

        TableColumn C1Col = new TableColumn("C1");
        TableColumn C2Col = new TableColumn("C2");
        TableColumn C3Col = new TableColumn("C3");
        table.getColumns().addAll(C1Col, C2Col, C3Col);

        List<String> attr;
        attr = new ArrayList<>();
        attr.add("x");
        attr.add("y");
        attr.add("z");

        List<TableColumn> listColHead = table.getColumns();
        for (int i = 0; i < listColHead.size(); i++) {
            TableColumn objColHead = listColHead.get(i);
            TableColumn subCol = new TableColumn(attr.get(i));
            subCol.setId("colattr");
            objColHead.getColumns().addAll(subCol);
        }

        StackPane root = new StackPane();
        root.getChildren().add(table);

        Scene scene = new Scene(root, 300, 200);
        scene.getStylesheets().add(TableViewTest1.class.getResource("TableViewTest1.css").toExternalForm());

        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

ほんの少しですが CSS で修飾しています。

リスト:TableViewTest1.css 
#colattr {
    -fx-font: 12px Times;
}

実行例を以下に示します。

参考サイト

  1. Using JavaFX UI Controls: Table View | JavaFX 2 Tutorials and Documentation
  2. JavaFX Tutorial - JavaFX TableView