Linux」カテゴリーアーカイブ

LXDE は確かに軽いけど

不良品だったメモリは交換してもらった。
家に帰りデュアルチャンネルで組み付けて Memtest86+ スタート、普通に動作。
Ubuntu 9.04 を起動し軽く動作チェック、よしよし 4GB メモリにすることができた。

これで Windows Vista を Linux の VirtualBox 上の仮想 OS にする準備完了。
なんたって Vista だし Visual Studio 2008 も入れる予定なのでとにかくメモリがいる。
1TB の HDD も先週買っておいたし後は各種 OS が出揃うのを待つだけ。

早く Mandriva 2010.0 と Ubuntu 9.10 と Windows 7 が出ないかなぁ…

とにかくソフトウエア作りは最新 OS 環境で動作チェックしたい。
blog も最新 OS ネタで行いたい、ということで今は待ちの状態。

Windows 7は最後の32ビットWindowsか (1/2) – ITmedia アンカーデスク

Windowsには、ほとんどの人が完全には理解しないであろうルールがある。
Windowsのすべての新版は、次世代ハード向けに設計されているということだ。

そうなんだよね、ハードウエアが出揃った今 Vista を悪く言う人はいなくなった。
仕事関係でしかたがなく以外で XP を選ぶ人がいたら病院へつれて行きましょう。

電卓の話 – NyaRuRuの日記

中身を変えても誰も気付かない

パソコン雑誌のライターはバカしかいないとよく解りました。
捏造ばかりで偏ったことしか伝えないテレビ局を笑えないね。

とにかく現在の環境では今何をやっても即化石になるかもしれない。

ということで、もう Ubuntu 9.04 が不安定になっても困らないので LXDE を試す。
死ぬほど軽いウインドウ・マネージャらしい、つまり低機能だということだけど。

sudo apt-get install lxde

でインストール、ログアウトしてログインのオプションで「セッションの選択」から LXDE を。
「デフォルトにする」を選択しなくても LXDE になっちまったぞこのやろう!

とにかく起動、うわぁ本当に軽い。
PCMan のファイルマネージャが本当に軽い、GTK+ 製なので GNOME からの違和感も少ない。

我が公開アプリも問題なく動く、Y901x のインストールもできる。
まぁそりゃ中身は Ubuntu そのものでウインドウ・マネージャだけが違うだけだもの。
gnome-screenshot も一応使えるようだ。

lxde

ただ、Linux では何というか知らないけど GDI 描写だね、 Windows XP と同じような方法。
ウインドウを掴んでグルグル動かした時の CPU 負荷を Compiz と比べればよく解るよ。

他 PCMan では FTP 接続ができないみたいだ。
動画はサムネイルされない、画像もできたりできなかったり。
Drag & Drop は CRLF 区切りの URI が渡る、ここは Nautilus と同じ。
詳細表示にすると Drag & Drop が上手くいかないんですけど…
それより script で拡張ができそうにない、Dolphin を諦めたのと同じことがまた。
Nautilus は端末から起動できるけどブックマークしていた FTP が消えている…

つか、だから Nautilus を使いたいのなら GNOME を使えばいいじゃない!

GNOME から新しい技術と便利機能をゴッソリ取っ払ったという感じ。
そりゃ軽いだろう、Windows を Vista から XP に戻したようなものだから。
つかメニューやタスクバーが XP 臭い、こんな所まで昔に戻さなくてもいいのに。

中身は Ubuntu そのものなんですけどやはり別物ですね。
とにかく軽いことは確かなので Windows XP 万歳な人にはいいのでは?
私は素直に GNOME に戻ります。

追記

LXDE の奴め、なんかイッパイアプリをインストールしやがった。

lxde_menu

Leafpad とか Windows のメモ帳レベルなエディタはいらないよ!
端末エミュレータやアーカイバーは2つも必要無いだろ!

PCMan は得に酷い、この開発者って信じられない!
起動する毎に Nautilus に登録し直した FTP ブックマークを削除するってどういうこと?
つーか Nautilus のブックマークを利用スルナ!やはりこういうのを試すのは爆弾だよ。

sudo apt-get autoremove lxde

で削除できたけどまだメニューに幾つか残っているので後は手動で…
GPicView だけは激軽なので別途で入れよう、でもやはり低機能だが。

シェルスクリプトの初心者本

今月の日経 Linx を買った、付録の「シェルスクリプトの基本 10 項目」目当てです。

実はシェルスクリプトを今ひとつ使いこなせない現在の私である。
Python もいいけどシェルスクリプトくらい普通に書けないとエラそうにできないし。

パッと付録を読んだけどコレはいい。
分厚くてウンザリする bash の解説本とは違い基本の基本だけを解りやすく書いている。
Web だけじゃ解りにくい解説しか無いから買っておいたほうがいいよ。

このたった 34 ページの付録だけで 1490 円の価値はある。
久々に良い本を見つけたが Amazon に無かったのでアフィリにならん。
クソォ適当にまとめと追記をして覚書ページを作ってやるぞこのやろう。

でもせっかくの有用な付録なのに本の記事はフリーソフトの紹介ってのがどうなんだ?
bash のコマンドって実は CUI アプリだよと初心者に教えたほうが理解が早いのに。

それも紹介しているアプリがチト、w3m って Ubuntu には標準で…
リポジトリに Apache や PHP があるのに XAMPP とか Wine で秀丸を動かすとか…
だから FTP なんて Nautilus でも Dolphin でも簡単に可能なのに…

何より Opera が無いってどういうことだ!
KeepassX も無い、GHex も無い、つーかテキストエディタが無い、何故か Rails を紹介。
ワケワカンネェこのライター、ターゲットはどんな人を想定したの?

でも Ubuntu は標準で Memtest86+ が使えると知ったのは発見だった。
早速先日買ったはいいけど超不安定な 2GBx2 のメモリに換装してチェック。
動かしてイキナリまっ赤っ赤、こりゃ不安定なわけだ。

BIOS の設定を変更したり一枚ずつ付け替えたりして地味に実験。
どうやら片方が不良品のようだ、もう一枚買ってくるかトホホ。

対する日経ソフなんとかは ○uby 本が付録しているよ…
この雑誌もいいかげんに Python をやったらどうなのだ?と思うんだが。
ま、Windows じゃどっちも使い道が無い言語なのだが。

ネタとして MonoDevelop で WindowsForm を作ってみる。

WindowsForm を散々バカにしてきた私だが。
ネタとして MonoDevelop で WindowsForm を作ってみる。

空の新規ソリューションを作成する。
ソリューションエクスプリーラの参照の所を右クリックして下記メニューを選択。
こんなところまで Visual Studio のパクリかよ。

migimenu

出てきたダイアログから以下をチェック。
System.Windows.Forms
System.Drawing

02

次にプロジェクト部分を右クリックして「追加」「新しいファイル」
空のクラスを選択し OK でコードが書けるようになる。

main_class

コードを書いてみる

using System;
using System.IO;
using System.Drawing;
using System.Windows;
using System.Windows.Forms;

namespace winform_test
{
	/// <summary>
	/// WindowsForm 継承クラス
	/// </summary>
	public class MainWindow: Form
	{
		TextBox textBox;

		public MainWindow()
		{
			this.Size = new Size(320, 320);
			this.Text = "WindowsForm はこんなに酷い";
			// 第一ボタン
			Button button = new Button();
			button.Text = "ポチッと押してちょ!";
			button.Location = new Point(10, 10);
			this.Controls.Add(button);
			button.Click += delegate {
				MessageBox.Show("クリックしたね!", "タイトル");
			};
			// 第二ボタン
			Button button2 = new Button();
			button2.Text = "Dialog";
			button2.Location = new Point(10, 30);
			this.Controls.Add(button2);
			button2.Click += HandleClick;
			// テキストボックス
			textBox = new TextBox();
			textBox.Multiline = true;
			textBox.AcceptsReturn = true;
			textBox.AcceptsTab = true;
			// サイズ変更追従にこんな面倒なことをやる必要がある
			textBox.Location = new Point(0, 40);
			textBox.Size = new Size(320, 280);
			textBox.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | 
				AnchorStyles.Left | AnchorStyles.Right;
			this.Controls.Add(textBox);
		}

		void HandleClick(object sender, EventArgs e)
		{
			OpenFileDialog dlg = new OpenFileDialog();
			if (dlg.ShowDialog() == DialogResult.OK)
			{
				StreamReader sr = null;
				try
				{
					sr = new StreamReader(dlg.FileName);
					string s = sr.ReadToEnd();
					textBox.Text = s;
				}
				finally
				{
					if (sr != null)
						sr.Close();
				}
			}
		}
	}
	
	public class main_class
	{
		/// <summary>
		/// エントリポイント
		/// </summary>
		public static void Main(string[] args)
		{
			MainWindow win = new MainWindow ();
			Application.Run (win);
		}
	}
}

winform

たったこれだけでも死ぬほど遅い。
Windows は最終的に Win32API だが mono の WindowsForm は全部ソフトウエア描写だから。
Gtk# なら最終的に GTK+ がやってくれるので少しマシ、それにダイアログに違和感バリバリ。

何より絶対位置配置しかできないので重なったりはみ出したりする。
これは意図的にそう書いたけど GTK+ や WPF ではこんなことはおこらないんだよ。
GTK+ でも GtkFixed レイアウタを使うと同じようになるけど。
自分の目で確かめればいいと思うならテーマを色々変えてみれば何を言いたいのかが解る。

同じものを PyGtk で作る。
もちろん GtkHBox, GtkVBox レイアウタを使う。

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import gtk

class GtkForm(gtk.Window):
    """
        GtkWindow 継承クラス
    """
    def __init__(self):
        gtk.Window.__init__(self)
        self.resize(320, 320)
        # 第一ボタン
        button = gtk.Button()
        button.set_label("ポチッと押してちょ!")
        button.connect("clicked", self.messagebox)
        # 第一ボタン
        button2 = gtk.Button()
        button2.set_label("Dialog")
        button2.connect("clicked", self.opendlg)
        # テキストビュー
        self.textbox = gtk.TextView()
        # パッキング
        vbox = gtk.VBox()
        vbox.pack_start(button, False)
        vbox.pack_start(button2, False)
        vbox.pack_start(self.textbox)
        self.add(vbox)
        self.set_title("画像ビューア")
        self.connect("delete-event", self.on_quit)
        self.show_all()

    def on_quit(self, widget, event=None):
        gtk.main_quit()

    def messagebox(self, widget, event=None):
        dlg = gtk.MessageDialog(self, gtk.DIALOG_MODAL, gtk.MESSAGE_WARNING, 
                                gtk.BUTTONS_OK, "クリックしたね!")
        dlg.set_title("タイトル")  
        r = dlg.run()  
        dlg.destroy()

    def opendlg(self, widget, event=None):
        dlg = gtk.FileChooserDialog(
            buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK))
        r = dlg.run()
        try:
            if r == gtk.RESPONSE_OK:
                f = open(dlg.get_filename())
                self.textbox.get_buffer().set_text(f.read())
                f.close()
        finally:
            dlg.destroy()

if __name__ == "__main__":
    """
        エントリポイント
    """
    w = GtkForm()
    gtk.main()

桁違いに早いし絶対に重なったりはみ出したりしない。
手抜きでスクロールバーを入れていないので小さいテキストファイルで試すのを勧める。

ネタが無いのでちょっと MonoDevelop を使ってみた。
9.04 にしてすぐ入れたのに結局使わなかったもの…

Mandriva 2009.1 on mono and IronPython

mono イラネェ…だけれど、もはや GNOME の一部みたいなものだし。
よく見ると GNOME Mandriva に入っている mono のバージョンが 2.2 だ。
これって IronPython 2.0 が普通に動くんでね?
サイトに行くと IronPython 2.6 が RC になっていた、2.6 正式版は近いようだ。

IronPython – Home

せっかくなので 2.0.2 と 2.6 RC を落として使ってみる。
2.6 RC はダメだった、2.0.2 は普通に動くでないの。

999

本家からのやつだから以前手に入れたものと違い日本語も通るようだ。
ぱぇぽぃ2 ? Blog Archive ? IronEditor

しかし矢印キーでカーソル位置を変更できない、 Windows 用キーバインドは効かない。
Linux で動かす場合は Ctrl+D で終了にしてくれよ、Ctrl+Z じゃ間違える。
GNOME 端末で使うのはちょっと簡便してくれという感じ。

つーか「ソフトウェアの管理」に 2.0.1 があるじゃないの。

mandriva_ipy

ASP.net で利用すると思われるライブラリがコレデモカ!というくらい付属。
2010.0 ではもっと増えそう、てか mono と IronPython のバージョンは何になる?
イラネ…利用するにしても本体だけを本家から落として使うと思う。

しかしローケルが UTF-8 である Linux のほうが StreamReader 等が使い易いのはこれいかに。
Encoding 指定しなければ BOM 無し UTF-8 で読み書きだものね。
Windows も過去の資産なんかどうでもいいからとっとと UTF-8 になってくれよ。

それより mono で動かしたほうが早いんだが…
標準 Python のほうが圧倒的に早いけどね。

checkinstall

Linux のスクリーンショットが沢山見られるサイトを見つけた。

Linux, BSD, Solaris & Other OS Screenshots | The Leader in Linux, BSD, Solaris & Other OS Screenshots | Screen Shots of Linux Distributions, BSD, Solaris & Other OSes | Linux, BSD, Solaris & Other OS Screenshot Gallery

GNOME と KDE ばかりとはいえ、なんだかんだで見た目は大事ですから。
最新版の見た目を見てどんな感じになったのか確かめたりする他
そういえば昔の Fedora はスタートメニューが赤い帽子だったなぁとか楽しめます。

Linux標準にPerlとPythonが追加 ? @IT

古い記事だが、だから今の Linux には Perl と Python が必ず入っているのか。

Linux Standard Base – Wikipedia

Debian 系がいつまでも deb に拘っているほうがどうかと思うのだが。
Opera とかも Debian 系のためだけに deb パッケージを用意するのは大変だろうに。
こういう点が面倒だから Desktop Linux ではアプリが偏る結果になるのに。
と思っていたけど…

3種類のパッケージを手軽に作成 checkinstall – 特選フリーソフト:ITpro

Ubuntu から apt-get で手に入るのでやってみた。

checkinstall

Y901x のインストールスクリプトを install.sh にして実効パーミッションを付加。
cd コマンドでインストールスクリプトのあるディレクトリに移動。

$ sudo checkinstall ./install.sh

y901x_dev

あらら、簡単に作れちゃった。
でも何故 root 所有になるの?もう少し調べると面白いかも。