試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

Mono

Ubuntu 14.04における幾つかのメモ

PPAのパッケージを更新 PPAリポジトリ ppa:kakurasan/stable ppa:kakurasan/unstable で公開しているパッケージは既にUbuntu 14.04向けの更新が完了している。パッケージの内容自体は基本的に前の13.10のときのものと同じで、変更点はrxvt-unicodeのバージョ…

openBVEに関する追加メモ(アドオン関係と.NET 4版関係・バージョン1.4系時点)

バージョン1.4以上のopenBVEのアドオン管理について(バージョン1.4系時点) openBVEでは、バージョン1.4系(開発版では1.3.2)からアドオン管理機能が利用できるようになっている。 この機能は、openBVEで利用可能な追加の機能やデータをアプリケーション内で管…

多目的ユーティリティライブラリGLibの一部を再実装したEglibライブラリについて

概要 C言語で利用可能な多目的ユーティリティライブラリのGLibは(GTK+とともに)LGPLライセンスで公開されているが、使い方によってはLGPLライセンスでは都合が悪い場合もある(例:プロプライエタリなソフトウェア内への組み込み)。 Monoプロジェクトでは、こ…

メールマガジン:Boo言語で整形されたカレンダー(テキスト,HTML)を出力する

この記事についてメールマガジンの系統は「自由テーマ」です。 「メールマガジン:Boo言語でカレンダーのデータを扱う」の続きとして、テキスト形式とHTML(ソース)形式の整形済みカレンダーを(標準出力へ)出力する処理についてをBoo言語を用いて扱っています…

メールマガジン:Boo言語でカレンダーのデータを扱う

この記事について 途中までの内容 この記事についてメールマガジンの系統は「自由テーマ」です。 Mono/.NETの基本クラスライブラリ(BCL)の中にはカレンダーのデータを扱うためのクラスが存在しますが、このクラスの使い方と任意の年・月の日付/曜日一覧を(和…

メールマガジン:LibreOfficeをBoo言語で制御する(メッセージダイアログの表示2)

この記事について メールマガジンの系統は「自由テーマ」です。 「メールマガジン:LibreOfficeをBoo言語で制御する(メッセージダイアログの表示)」の続きとして、LibreOfficeをBoo言語で制御する上での簡単なメッセージダイアログの表示についての続きと簡単…

Debian/Ubuntuにおけるbinfmt_miscに関するメモ(Ubuntu 11.04時点・後半)

「Debian/Ubuntuにおけるbinfmt_miscに関するメモ(Ubuntu 11.04時点・前半)」の続き。 判別ツール(detector)について 前半の「update-binfmts --display」の出力を見ると、同じ「MZ」という内容のマジックが Mono/.NETアセンブリ(Monoから使用) Windowsの実…

メールマガジン:LibreOfficeをBoo言語で制御する(メッセージダイアログの表示)

この記事について メールマガジンの系統は「自由テーマ」です。 「メールマガジン:LibreOfficeをBoo言語で制御する(処理の流れ2,簡単な例)」の続きとして、LibreOfficeをBoo言語で制御するプログラムの中でメッセージダイアログ(メッセージボックス)を扱う上…

Debian/Ubuntuにおけるbinfmt_miscに関するメモ(Ubuntu 11.04時点・前半)

Debian/Ubuntuでは、「シェルから直接Windowsアプリケーションを起動できる「binfmt_misc」」で扱ったbinfmt_miscの管理が独自なツールで行われており、幾つかの種類においては自動的に(特に手動での作業をすることなく)扱いやすい設定になっていることが分…

メールマガジン:LibreOfficeをBoo言語で制御する(処理の流れ2,簡単な例)

この記事について メールマガジンの系統は「自由テーマ」です。 「メールマガジン:LibreOfficeをBoo言語で制御する(処理の流れ)」の続きとして、LibreOfficeをBoo言語で制御する上での処理の流れについての続きと簡単なコード例についてを扱っています。 既…

メールマガジン:LibreOfficeをBoo言語で制御する(処理の流れ)

この記事について メールマガジンの系統は「自由テーマ」です。 「メールマガジン:LibreOfficeをBoo言語で制御する(使用する名前空間,データ型と型変換)」の続きとして、LibreOfficeをBoo言語で制御する上での処理の流れについて、途中までを扱っています。…

メールマガジン:LibreOfficeをBoo言語で制御する(使用する名前空間,データ型と型変換)

この記事について メールマガジンの系統は「自由テーマ」です。 「LibreOfficeをBoo言語で制御する(概要,必要なパッケージ,大まかな流れ,コンパイル)」の続きとして、実際のプログラムを記述する上での 使用する名前空間 Boo言語におけるLibreOfficeのデータ…

LibreOfficeをBoo言語で制御する(概要,必要なパッケージ,大まかな流れ,コンパイル)

LibreOffice(やOpenOffice.org)では、内部の機能を色々な言語で制御できるようになっているが、Mono/.NETの言語(C#やBoo言語など)を用いて制御を行うこともできる。 ここでは、Boo言語(関連記事)を用いてLibreOffice(やOpenOffice.org)の簡単な制御を行うた…

バージョン1.2.12系以上のopenBVEのユーザごとのデータ保存ディレクトリについてとシミュレータ開始後に正常にメインウィンドウに戻らない場合の対処(後半)

「バージョン1.2.12系以上のopenBVEのユーザごとのデータ保存ディレクトリについてとシミュレータ開始後に正常にメインウィンドウに戻らない場合の対処(前半)」の続き。 本体のあるディレクトリ以下にデータを保存したい場合とシミュレータ開始後に正常にメ…

バージョン1.2.12系以上のopenBVEのユーザごとのデータ保存ディレクトリについてとシミュレータ開始後に正常にメインウィンドウに戻らない場合の対処(前半)

openBVEのバージョン1.2.12系(開発版は1.2.11系)からは設定ファイル群は各ユーザごとの設定ディレクトリに保存されるようになっている。これはMonoや.NET Frameworkの基本クラスライブラリにおけるSystem.Environment.SpecialFolder.ApplicationDataの値に基…

Boo言語の簡単なプログラム例(端末への固定文字列出力とGtk#のウィンドウ表示)

ここではBoo言語を用いた簡単なプログラム例として、端末への固定文字列の表示と空のGtk#のウィンドウ表示の例を扱う。 端末に固定文字列を表示する メモ 端末に文字列を表示するには組み込みのprint文かprint()関数(ともに末尾に改行が付く),もしくは基本…

Boo言語についてと同言語で書かれたプログラムの実行に関して

Booについて Booは共通言語基盤(CLI)の実装(Monoや.NET Framework)上で(OSやアーキテクチャに依存せずに)動作するプログラムを記述するための言語名(Boo言語)であり、同言語で書かれたプログラムを扱うツール群でもある(ライブラリ含む)。ライセンスはBSDス…

openBVEに関するメモ(バージョン1.2.10.0/2010年12月末時点)

Mono/.NET車両プラグインのサポートについて 本家BVE Trainsimで導入された車両プラグインはWin32専用のDLLという形をとっており、openBVEではWin32上でしかこれを利用できない。 この問題に対処するためopenBVEではMono/.NETアセンブリのDLLという形の保安…

Gtk#でSystem.Drawing.Graphicsクラスの描画処理を用いる

GTK+とその多くの言語バインディング(例:PyGTK)では、描画エリア(GtkDrawingArea)への描画処理を記述する場合にはGTK+の下位ライブラリのGDKもしくは高い表現力を持つCairoライブラリを用いることになる(関連記事:前半 後半)。 しかし、Mono/.NET向けのGtk#…

Vala言語とC#言語でのプロパティ値変更時の通知について

「PyGObjectで gobject.GObjectクラスを継承してGObjectプロパティを用いる(後半)」ではPyGObjectでプロパティ値が変更されたときにGObjectのシグナルを用いてハンドラと関連付ける処理を扱ったが、ここではVala言語とC#言語の場合についてを扱う。 Vala Va…

C#言語とVala言語のプロパティについて

プロパティについて C#言語とVala言語では、クラスの中でメンバ関数とメンバ変数の両方の性質を併せ持つプロパティというものが使用できる。 これはクラスのメンバをクラスの外から読み書きするときに クラスの中からはメンバ関数のように記述して クラスの…

GTK+の最近使用したファイル一覧にファイルを追加するコードをValaとC#で作成

「PyGTKで最近開いたファイルを記憶する」で最近使用したファイル一覧へファイルを追加するためのコードをPython(PyGTK)で記述したが、ここでは同じことをC#言語(Gtk#)とVala言語で書いてみた。 (2009/7/10)ボタンのラベルなどの微調整を行った。 C#(Gtk…

C#言語とVala言語におけるクラス継承時の親クラスのコンストラクタの呼び出しに関する挙動の違いについて

Vala言語はC#言語に近い文法を持つが、クラスを継承したときの親クラスのコンストラクタの呼び出しに関する挙動は異なる。 親クラスの引数なしコンストラクタはVala言語では自動的には呼ばれない 親クラスのコンストラクタを引数付きで呼ぶ Vala言語で親ク…

ValaやC#の「ref」や「out」について

Vala言語と(影響を受けている)C#言語では、関数へ引数を渡すときに「ref」や「out」といったキーワードが手前に渡されることがある。 ref/outの効果 「ref」や「out」は関数を呼ぶ側で定義した変数を引数にして渡したときに、その内容を関数の中で操作した…

リストへのデータ追加にかかる方向/時間のテストをC#言語に移植

「GLibで連結リスト(リスト構造)にデータを追加する方向とその時間について」のテストをC#言語に移植してMono上で実行してみた。 メモ GLibのGTimerに相当する機能*1はC#ではSystem.Diagnostics.Stopwatchオブジェクトとなり、使い方も似ているが、経過時…

Gtk#でシステムトレイを使用してメニューを表示する

「Gtk#のコード作成上の覚え書き」のメモに加えて少しの追加メモを書いてから、「PyGTKでシステムトレイを使用してメニューを表示する」をGtk#に移植したものを貼り付ける。 メニュー項目の作成について 内蔵のストックアイコンを用いつつメニュー項目には…

Gtk#のコード作成上の覚え書き

「PyGTKでシステムトレイを使用してメニューを表示する」と同じ処理をGtk#で書いてみたのだが、そのコードを貼り付ける前に作成上の幾つかのメモを先に書いておくことにする。C#言語に関するものも含む。 C#におけるクラスの継承 クラス定義のとき、クラ…

.exeファイル(Windows用とMono/.NET用)の識別と関連付けについて

NautilusなどのGUIファイルマネージャやbinfmt_misc(関連記事)ではファイルの種類に応じてそれを開いたときに、関連付けられたアプリケーションに引数としてそのファイルを渡すことができる。しかし、.exeファイルの場合 Wine上で動作するWindows向けの実行…

Gtk#の小さな例をMonoDevelopで作成した中でのメモ

ここではMonoDevelopを用いて小さなGtk#*1アプリケーションを作成する上での作業についてメモしておく。コードはほとんどいじっていないので、C#言語についての内容はほとんどここでは扱っていない。VB.NETについては今後も扱う予定はない。 作成手順 Mono…

C#のテストを兼ねた静的メンバのテスト

「Pythonにおけるクラスの静的メンバについて」で静的メンバについて扱ったが、Pythonはその扱い方は特殊な例に入ると思われる。 ここではそれと同じことをC#という言語で書いてみることにする。 なお、C#については初心者で全く詳しくないので、色々なテ…