2012年1月23日月曜日

Windows でアプリケーションを再起動するバッチ処理 - タスクの強制終了、タスクリスト、エラーレベルによる条件分岐

1. Tray Volume が動作しなくなる

PC の音量を素早く変更するために、Tray Volume を利用している。

Tray Volume の設定で、

  1. マウスポインタをタスクバーに移動し、
  2. マウスホイールを動かす

ことにより、音量を変更するようにしている。

しかし、何が原因か分からないけれど、アプリケーションが起動しているにもかかわらず、音量を変更できなくなることがある。

Tray Volume のバージョンは、1.4.4.0。使用環境は Windows 7 64bit 。

 

2. Tray Volume を再起動するためのバッチファイル

動作しなくなる度に、アプリケーションを再起動している。

毎回、起動しなおすのは面倒なので、Tray Volume を再起動するバッチファイルを作成しておく。

@echo off

tasklist | findstr "TrayVolume.exe"

if errorlevel 1 goto START
if errorlevel 0 taskkill /f /im "TrayVolume.exe"

:START
start "" "C:\Program Files (x86)\TrayVolume\TrayVolume.exe"

上記を、適当に restartTrayVolume.bat と名前を付けて保存。

Tray Volume が動作しなくなったら、バッチファイルを起動する。

 

3. 再起動するアプリケーションを指定できるように変更する

追記(2013/09/12): 他のアプリケーションも再起動できるように、対象のアプリケーションを「引数として与えるよう」にバッチファイルを変更しておく。

バッチファイルで引数を受け取るには %数字 という記述をする。

EZ-NET: Windows コンソール プログラミング - バッチファイルの引数を操作する

バッチファイルでもコマンドと同様に引数を渡すことが出来ます。渡された引数は %1 から %9 までの変数として保存されます。 %0 もあるのですけど、これには実行中のバッチファイル名が保存されます。

restart.bat

REM @echo off

tasklist | findstr %1

if errorlevel 1 goto START
if errorlevel 0 taskkill /f /im %1

:START
start "" %2

上記を適当に restart.bat と名前をつけて保存する。

 

コマンドプロンプトから起動する

使い方は、ファイルのあるフォルダでコマンドプロンプトを起動し、以下のように入力する。

restart.bat "TrayVolume.exe" "C:\Program Files (x86)\TrayVolume\TrayVolume.exe"

 

ショートカットファイルでワンクリックで再起動

restart.bat ファイルのショートカットを作成し、再起動したいプログラムを引数で与えることにより、マウスでアイコンをクリックして簡単に起動できる。

  1. restart.bat ファイルをショートカット作成し、適当に restart-TrayVolume.bat と名前をつける。
  2. 作成したショートカットのプロパティを開き、「ショートカット」タブの「リンク先」フィールドの末尾に  "TrayVolume.exe" "C:\Program Files (x86)\TrayVolume\TrayVolume.exe" を追記する。(先頭に半角スペースを入れること。)

SnapCrab_No-0426

 

4. Windows 7 でクイック起動により、バッチファイルを起動する

Windows 7 では、タスクバーにバッチファイルを登録することができない。Windows XP や Vista のようにクイック起動を利用したい。

以下を参照して、Windows 7 でクイック起動を作成。

要するに、以下のフォルダを作成すれば良いとのこと。

  • C:\Users\ユーザ名\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch

 

5. バッチファイルの内容について

a. タスクの強制終了

タスクを終了するためのコマンドは taskkill 。

強制終了をするための /f オプションを付けないと、終了できないことがあった。

 

b. タスクリストから、タスクが起動しているか確かめる

Tray Volume を終了する前に、Tray Volume が起動しているか確かめておく。

動作しているタスクの一覧を得るには、tasklist コマンドを利用する。

tasklist コマンドで、当該タスクが存在するか判定するには、findstr コマンドを併用し、条件分岐でエラーレベルを取得する。

【バッチファイル】tasklistの実行結果取得方法について - Insider.NET - @IT によると、

下記のコマンドで起動成功失敗のerrorlevelが取れました。
tasklist /FI "USERNAME eq ユーザ名" | findstr プロセス名
echo %errorlevel%

findstr コマンドは、文字列の検索を行うためのもの。

 

c. エラーレベルによる条件分岐は、順序に注意

上記のコマンドは、実行すると結果を返す。

【ハウツー】ゼロからはじめるバッチプログラミング - 制御編 (1) 分岐を使うバッチプログラミング  | マイナビニュース によると、

アプリケーションは、終了時にシステムに対して値を返すことができます。例えば、C言語でプログラムを作ったことがあればmain()関数の最後に return文で整数を返したはずです。この値がどのような意味を持っているのかはアプリケーションが定めますが、システムはアプリケーションが返した終了コードを受け取り、ifコマンドでバッチ処理できます。多くの開発者にとってもあまり意識されない終了コードですが、エラーの発生などによって返す値を定めることで、バッチファイルによる管理が可能になります。

if errorlevel 番号 コマンド

このifコマンドは、直前に実行したアプリケーションの終了コードが指定した番号と同じかそれより上であれば、続くコマンドを実行します。多くのアプリケーションは、正常終了した場合は0を返し、そうでなければ0以外の値を返します。

注意する点は、ERRORLEVEL の数値を並べる順序。

バッチファイルの制御用コマンド [FPCU]DOS/V&Windowsコマンド・プロンプト・リファレンス によると、

≪条件書式1≫ ERRORLEVEL 数値
IFより前に実行されたプログラムが、指定した「数値」以上の「終了コード」をDOSに返しているときに、条件が成立します。

例えば、ERRORLEVELでの条件分岐が意図した結果にならない (DOSプロンプト活用相談室LOG) によると、

… 仕様として IF ERRORLEVEL の判定が「以上」であることが原因だと思います。等号じゃないんですね。
なので、
>IF ERRORLEVEL 0 GOTO NG
>IF ERRORLEVEL 1 GOTO OK
という順序で記述されると、最初の行は errorlevel が 1 の場合でも成り立ってしまって GOTO NG してしまうと思います。
IF ERRORLEVEL 1 GOTO OK
IF ERRORLEVEL 0 GOTO NG
というように、判定順序を数字の大きい方からにすればよいのではないでしょうか。

ERRORLEVEL は、比較演算子。

バッチメモ(Hishidama's bat-file Memo) によると、、

条件には、以下の比較演算が使える。(大文字でも小文字でもよい)…

単項演算子…

ERRORLEVEL
%ERRORLEVEL%が値以上
なぜこんな演算子がわざわざあるかについては、注意点を参照。
if errorlevel 1 echo エラー

バッチ処理の仕様に辟易 (+_+)

2012年1月16日月曜日

Lucid Puppy を古いノート PC で利用する - Chromium, Wine をインストール

1. Puppy Linux 日本語版を利用する

Puppy Linux は動作が軽い。CPU Celeron 2.66GHz, メモリ 512 MB の壊れそうな古いデスクトップ PC でもサクサク動作する

Lubuntu は、Puppy Linux よりも重い。CPU Pentium M 1.5GHz, メモリ 1G である古いノート PC に、Ubuntu の派生品である Lubuntu をインストールしたら、ブラウズ・文書作成では、問題のないパフォーマンスが得られた。Wine により、Windows アプリケーションも利用できた。

今回は、Lubuntu をインストールした古いノート PC で、Puppy Linux を利用してみる。

Puppy Linux 日本語版http://openlab.jp/puppylinux/download/ より、

をダウンロードして、CD-ROM に書き込む。

CD-ROM から、ノート PC を起動したら、Lubuntu に比べて動作が早かった。

 

無線 LAN の設定 (WPA, AES)

ノート PC は、無線 LAN を利用している。ネットワークの設定から行う。

  1. デスクトップの「接続」 > Desktop/tray の Network Wizard を選択。
  2. タイプがワイアレスの方を選択。(wlan0)
  3. 「ワイアレス」ボタンを押す。
  4. スキャンして、接続先を選択。

接続先の無線ネットワークは、WPA で、暗号化方式に AES を利用している。

試しに WPA/TKIP を選択し、

  1. 「暗号化なし」のチェックを外し、
  2. 暗号化キーを入力し、保存。
  3. 「このプロファイルを使う」を押す。

しかし、ネットワークに接続出来なかった。

軽量Linux まだまだ使う旧パソコン | PuppyLinux4.2 無線LAN設定 AES WLI3-CB-G54L によると、

アクセスポイントの暗号方式はWPA-PSK(AES)なので、WPA-PSK(AES)での接続が目的。…

今回は「WPA/TKIP」を選んだ。
プロファイルを保存後、以下のファイルを手修正する。
「/etc/network-wizard/wireless/wpa_profiles/xx:xx:xx:xx:xx:xx.WPA.conf」を修正。
------------------------------
pairwire=TKIP
group=TKIP
↓ 以下に変更
pairwire=CCMP
group=CCMP
------------------------------

上記の説明に従い、

  • /etc/network-wizard/wireless/wpa_profiles/xx:xx:xx:xx:xx:xx.WPA.conf

を編集して、再度、接続を試みたら、接続できた。

次に、「自動 DHCP」を選択して、ネットワークの終了。

これでパッケージを利用するために、ネットワークからダウンロードできるようになった。

 

2. Lucid Puppy を利用する

a. Lucid Puppy は、Puppy Linux 日本語版とは系統が異なる

デスクトップ PC に Puppy Linux をインストールしたとき、ブラウザとして Google Chrome をインストールした。このとき利用したパッケージは、

ダウンロード先の URL を見ると、Puppy Linux 日本語版 と同じドメインであることがわかる。

Chromium - Wikipedia には、Google Chrome のオープンソース版として、次のように説明がある。

Puppy LinuxではChromium 5.0.342をUbuntuのリポジトリから流用したLucid Puppy 5.0.0から提供されている[50]

Lucid Puppy とは、何だろう?

Puppy Linux - Wikipedia で、これまでのバージョンを確認すると、

Lucid Puppy は、日本語版の Puppy とは別系統。

「KNOPPIX 6.4.4」と「Puppy Linux5.2」が登場 - Linuxレポート:ITpro によると、

Puppy Linuxは、日本語版の最新バージョンが2009年秋リリースの「4.3.1」である。だが本家の英語版は4.3.1以降、大きく2つの系統で進化している。

一つは4.3.1の直系となる「Wary Puppy」だ。…

もう一つはUbuntuベースの派生版「Lucid Puppy」。こちらは2011年1月6日、従来のバージョン5.1.1から「5.2」になっている

Lucid Puppy は、Ubuntu ベースだからパッケージがたくさんありそう。

Puppy Linux の本家サイトを見ると、ページ右上に3つの系統があった。

Barry Kauler - Powered by PPLOG によると、

Slacko Puppy 5.3, our flagship Puppy, premiered on October 25, 2011

Slacko Puppy がフラッグシップということらしい。

 

b. Pupppy Linux 日本語版では、Lucid Puppy のリポジトリにある Chromium が動作しなかった

とりあえず、Puppy Linux 日本語版のままで作業を続けた。

  • メニューより、セットアップ > Puppy パッケージマネージャ

を起動。

パッケージのダウンロード先のリポジトリを確認するために、

  • PETgetパッケージマネージャの設定

データベース更新において、「ただちに更新」をする。その後、ダイアログを閉じて、再度開くと、

puppy-lucid-officel

が表示された。

パッケージレポジトリの選択において、puppy-lucid-officel がチェックされていることを確認する。

一度、Puppyパッケージマネージャ を終了し、再度開くと、puppy-lucid-officel のリポジトリの内容が表示された。

次に、Internet カテゴリにある

Chromium-18-Lucid

のインストールした。しかし、Chromium-18-Lucid は起動できなかった。このパッケージは Lucid Puppy 専用のようだ。

 

c. Lucid Puppy にインストールできるパッケージの一覧

Lucid Puppy にインストールできるパッケージを確認する。データベース更新の「ただちに更新」において表示される、接続先である

にブラウザでアクセス。検索フィールドがあったので `lucid’ で検索。その結果、以下に Lucid Puppy でインストールできるパッケージの一覧が表示された。

上記を見ると、たくさんのパッケージがあることがわかる。Wine も含まれていることがわかった。

 

d. Lucid Puppy を利用してみる

そこで、Puppy Linux 日本語版ではなく、Lucid Puppy を利用することにした。

Barry Kauler - Powered by PPLOGLucid Puppy 5.2.8 released より、

をダウンロードし、CD-ROM に書き込み、ノート PC で CD-ROM から起動。

 

e. Lucid Puppy で、無線 LANへ接続 (WPA, AES)

Lucid Puppy 日本語版と同じように、無線 LAN の設定から行う。

先ほどと同じように、予め無線の設定ファイルを修正しておく。

「/etc/network-wizard/wireless/wpa_profiles/xx:xx:xx:xx:xx:xx.WPA.conf」を修正。
------------------------------
pairwire=TKIP
group=TKIP
↓ 以下に変更
pairwire=CCMP
group=CCMP
------------------------------

軽量Linux まだまだ使う旧パソコン | PuppyLinux4.2 無線LAN設定 AES WLI3-CB-G54Lより)

次に、ネットワークの設定を行う。

  1. menu > Setup > Internet Connection Wizard
  2. Desktop/tray の Network Wizard を選択
  3. Interfaces で wlan0 を選択。
  4. Configure wireless network の Wiress ボタンを押す。
  5. Scan ボタンを押し、接続先のネットワークを選択する。
  6. WPA/TKIP を選択。
  7. 「Security: Open」のチェックを外す。
  8. 暗号化キーを入力し、保存。
  9. Configure interface で Auto DHCP ボタンを押し、接続できたら、設定を保存するか促されるので yes を選択。
  10. Done ボタン を押して、終了。

これでブラウザを起動すると、ネットに接続できるようになった。

 

f. Lucid Puppy の日本語化

Lucid Puppy を起動すると、メニューやメッセージが英語で表示がされる。これを日本語にローカライズしたい。

Puppy Linux 日本語版`によると、

2.16.1〜4.31まではオリジナルのPuppy Linuxをベースに直接日本語リソースを組み込んだものを日本語版として提供してきましたが、開発の省力化の為、5.1x以降は国際化の仕組みを備えた Puplets"Lucid Puppy QuickSet edition"(Lupq) と日本語リソースのpet又はsfsを組み込んだものをベースに開発中です。

lupq-5.xに lang_pack_ja-lupq-0.x.pet をインストールすることで日本語版と同等に使えるようになります。正式に最新版の日本語版が公開される前に5.x系を試したい方はこの組み合わせでお使いください。

sakurapup.browserloadofcoolness.com • トピック - Lucid Puppy 5.2.x の日本語化 によると、

本家版 Lucid Puppy の最新版は Lucid Puppy 5.2.8.004 になります。
http://www.murga-linux.com/puppy/viewtopic.php?t=70855
パッケージマネージャより System のところにある lang_pack_ja-lupq-0.5.pet をインストールすると日本語が使えるようになります。
ただし日本語化パッケージは大きいので、実装RAMが 512MB以下の場合、初回起動でタイムゾーンとキーボードのみ選択し(この時点では言語の選択肢に日本語は現れない)、何もインストールせず、ただちにシャットダウンして pupsave(lupqsave)をまずは作成することをお勧めします。
むしろ、PETによらず SFSの使用をお奨めします。
日本語化SFSは lang_pack_ja-1.4.sfs (2011年10月15日update) を
http://shino.pos.to/party/bridge.cgi?puppy/opt/ から。
SFSをロードするには、
menu --> Setup --> Setup Puppy のところに SFS-Load on-the-fly があります。

ここでは、PET を利用して、日本語化する。

パッケージマネージャを起動するため、

  • menu > Setup > Setup Puppy > Puppy Package Manager

を選択。

  • System > lang_pack_ja-lupq-0.5

をインストール。ダウンロード先は、

  • ibiblio.org

にしておいた。次に、

  • Desktop > Contry Settings > Choose locale country localisation

で ja_JP: Japanese, Japan を選択すると、X Windows を再起動することを促されるので、再起動。

  • Desktop > Country Settings > Countrywizard 言語、タイムゾーン、キーボード

で、ja_JP 日本語,JAPAN, GMT+8, jp106 (日本語キーボード) を選択。

 

g. パッケージマネージャでリポジトリの更新

アプリケーションをインストールする前に、リポジトリの更新を行う。

  • menu > Setup > Setup Puppy > Puppy Package Manager

で、Configure package manager ボタンを押し、Update now する。

 

h. ブラウザ chromium のインストール

パッケージマネージャで、ブラウザとして chromium をインストールする。

  • menu > Setup > Setup Puppy > Puppy Package Manager

を起動し `chromium’ で find 。

  • Chromium-18-Lucid

をインストール。

上記の Puppy Linux 日本語版では動作しなかったが、今回は問題なく動いた。

 

i. Windows アプリケーションを動かすために
7zip

Windows アプリケーションにおける、一般的なアーカイブ形式を解凍できるように、7-zip をインストールする。

Barry Kauler - Powered by PPLOG によると、

I have created a 'p7zip' PET and uploaded it to the 'Puppy-common' repo (953K, 67K):
http://distro.ibiblio.org/quirky/pet_packages-common/p7zip-9.20.1-i486-w5.pet
http://distro.ibiblio.org/quirky/pet_packages-common/p7zip_DOC-9.20.1-i486-w5.pet

上記をブラウザでダウンロードし起動すると、パッケージマネージャが起動して、インストールされる。

Wine
  • menu > Setup > Setup Puppy > Puppy Package Manager

において `wind’ で find 。

Wine-1.3.13-Lucid52 をインストール。インストール後、以下のエラーが表示された。

img_0047

メニューを見ると、Windows のメモ帳やワードパッドがインストールされていることが確認できる。

試しに、SameGame for Windows をブラウザでダウンロード。ダウンロードしたフォルダで、

  • 右クリック > ウィンドウ > ここで Xterm を起動

7z x アーカイブ名

により解凍。 XXXXXX.exe をダウンロードすると、起動できた。

しかし、スライドぽぷん は起動できなかった。Lubuntu をインストールしたときは、動いたのになぜだろう?

2012年1月12日木曜日

Firefox で「タブの保存と復元」に Session Manager - タブを復元できないときに備える

1. Firefox がクラッシュしたとき、タブの復元ができないことがある

img_0040Firefox では、よく利用するサイトに対して

  • タブを右クリック > 「タブをピン留め」

により、アプリタブ にしておくことができる。

Firefox がクラッシュすると、次回起動したときに、タブの復元が促される。しかし、たまに、開いていたタブを復元できないことがある。その度に、アプリタブを設定しなければならい。たくさんある場合、結構面倒。(+_+)

 

2. Session Manager で現在のタブの状態を保存

Session Manager は、セッションを管理するためのアドオン。

現在のタブを開いている状態を保存するには、

  • Firefox ボタン > セッションマネージャ > セッションマネージャ > セッションを保存

img_0039

ダイアログが表示されたら、適当に名前をつけて、保存。

例えば、 default と名前をつけて保存したとする。

 

3. タブを復元する

Firefox の起動時における復元

試しに、タスクマネージャで Firefox を強制的に終了させた後、Firefox を起動してみた。

Session Manager をインストールしていると、デフォルトのタブの復元画面が、セッションマネージャに置き換えられ、いつの時点に復元するか尋ねられるようになる。

この際、

  • 直前に開いてたタブの状態に戻したければ、「現在のブラウジングセッション」を選択する
  • または、上記で保存した default のセッションの状態に戻したければ、default を選択する

「セッションを回復」ボタンを押せば、元のタブの状態が復元された。

img_0041

 

Firefox の起動中における復元

Firefox が起動している状態では、

  • Firefox ボタン > セッションマネージャ > セッションマネージャ > セッションの読み込み

により、表示されたダイアログでセッションを選択し、「読み込み」を行う。

 

4. セッションの保存先を Dropbox へ変更

Firefox を新しくインストールする場合に備えて、バックアップも兼ねて、セッションの保存先は Dropbox にした。

  • アドオンの設定 > セッションマネージャ > 詳細

の「セッションの保存先」で変更。

img_0042

 

5. 複数のタブを保存する目的には、デフォルトのブックマーク機能を使えば良い

Session Manager は、複数のセッションをグループ分けして管理・保存できる。保存したセッションは、復元の際に、セッションを置換するだけでなく、追加することも可能。

ところで、Firefox には、タブをグループ分けする機能がある。この機能のおかげで、複数の事柄を調べている場合、タブをグループ分けし、分類しておける。あまりにもグループ分けが多くなってしまったり、グループ分けしたまま放置しているものがあれば、セッションに保存しておけばいいかもしれない。

ただし、Firefox には、1つのウィンドウに複数のタブがある場合、

  • 任意のタブで右クリック > 全てのタブをブックマーク

により、複数のブックマークを一気に保存できる。

保存したブックマークは、当該ブックマークが保存されたフォルダにおいて、

  • タブで全て開く

により復元できる。このため、複数のタブを保存・復元する目的には、デフォルトの機能を使えば良い。

2012年1月10日火曜日

Windows 7 で タスク スケジューラ を利用して、定期的にメモリを解放する - empty.exe による高速な動作

1. empty.exe によるメモリの開放は軽くて早い

たくさんのアプリケーションを開くと、メモリの使用量が増え、PC の処理がもたつく。

ブラウザにアドオンを詰め込み、仮想化ソフトを起動。開発環境を立ち上げ、同時に別のブラウザで動画を見ながら、バックグラウンドで何個もプロセスを常駐。これにより、かなりのメモリを消費する。

SnapCrab_NoName_2013-1-13_1-10-23_No-00そのため、定期的にメモリを開放するアプリケーション「めもりくりーなー」を利用している。

ただし、メモリに余裕がないときに、メモリを開放させると、一時的に処理が遅くなる。

追記(2013/03/06)Windows で起動中のアプリケーションに影響を与えにくいメモリの開放 - 軽い動作の Wise Memory Optimizer も参考に。

 

a. empty.exe のインストール

これに対して、empty.exe は、動作の軽いメモリ開放ソフト。

最強安全メモリ開放ソフト(マイクロソフト) | Windows XP/Vista/7の裏技 によると、

「​e​m​p​t​y​.​e​x​e​」​こ​の​ソ​フ​ト​は​ほ​か​の​メ​モ​リ​開​放​ソ​フ​ト​と​は​違​い​、​強​制​的​に​開​放​す​る​こ​と​は​あ​り​ま​せ​ん​の​で​安​全​で​す​。 し​か​も​、​効​果​抜​群​!
W​i​n​d​o​w​s​ ​S​e​r​v​e​r​ ​2​0​0​3​ ​R​e​s​o​u​r​c​e​ ​K​i​t​ ​T​o​o​l​s ​こ​れ​を​ダ​ウ​ン​ロ​ー​ド​し​てW​i​n​R​A​R な​ど​で​解​凍​し​ま​す​。
解 ​凍​し​た​中​に​「​r​k​t​o​o​l​s​.​m​s​i​」​が​あ​る​の​で​、​こ​れ​も​解​凍​す​る​。​(​右​ク​リ ​ッ​ク​で​プ​ロ​グ​ラ​ム​か​ら​開​く​>​解​凍​ソ​フ​ト​を​選​択​>​「​e​m​p​t​y​.​e​x​e​」​を​取​り ​出​す​。​)
面​倒​な​ら​イ​ン​ス​ト​ー​ル​し​て​「​e​m​p​t​y​.​e​x​e​」​を​取​り​出​し​て​も​構​い​ま​せ​ん​。
「​e​m​p​t​y​.​e​x​e​」​を​ ​C​:​¥​W​I​N​D​O​W​S​¥​s​y​s​t​e​m​3​2​ ​の​中​に​入​れ​ま​す​。

上記を参考にして、empty.exe をインストールした。

  1. 7-Zip を用いて、rktools.exe を展開すると、rktools フォルダが作成される。
  2. rktools フォルダ内にある​ r​k​t​o​o​l​s​.​m​s​i​ を展開した後、empty.exe を取り出す。
  3. empty.exe を C:\Windows\System32 へ移動する。

 

b. empty.exe の実行

empty.exe を実行するには、

  1. スタートメニューより、「コマンド プロンプト」を起動する。
  2. コマンドプロンプトに empty * と入力し、実行する。(アスタリスクを入力するのを忘れずに。)

動作時間が短く、実行中のアプリに、ほとんど影響を与えないようだ。ただし、メモリ解放が効果的に行われているのかよくわからない。

empty.exe を実行した時のメモリの使用状況を見ていると、Firefox のアドオン Memory Fox, Memory Fox Next が動作しているときに似ているような気がする。

 

2. タスク スケジューラ で定期的に empty.exe を実行する

次に、タスク スケジューラを使い、empty.exe を定期的に実行させることにした。

タスク実行の設定は、以下の通り。

  1. ログオンしてから、1時間後にタスクを実行する
  2. その後、定期的に1時ごとにタスクを実行する。

 

a. タスクの作成

スタートメニューより、「タスクのスケジュール」を検索し、タスク スケジューラを起動する。

タスク スケジューラのメニューより、

  • 操作 > タスクの作成

全般」タブにおいて、適当にタスクの名前を付けた。ここでは `empty’ とした。

SnapCrab_NoName_2013-1-12_12-45-1_No-00

また、「最上位の特権で実行する」にチェックを付けておいた。理由は、empty.exe を管理者権限で実行した時の方が、制約が少なかったため。

 

b. トリガーの設定

トリガー」タブにおいて、新規ボタンを押し、新しいトリガーを作成する。

「新しいトリガー」を以下のように設定した。

  • タスクの開始を「ログオン時」
  • 詳細設定
    • 繰り返し間隔を「30分」に設定
    • 継続時間を「無期限」に設定

SnapCrab_NoName_2013-1-12_12-29-34_No-00

遅延時間、繰り返しの間隔については、以下を参考にした。

 

c. 操作の設定

次に、タスク作成の「操作」タブにおいて、新規ボタンで、新しい操作を作成。

  • 操作を「プログラムの開始」
  • プログラム/スクリプトを empty と指定
  • 引数の追加で `*’ を指定

img_0044

これで、次回のログインから、タスクが有効になる。

スクリプトを実行するには、

  1. タスク スケジューラを開き、左側のペインより、タスクスケジューラ(ローカル) > タスク スケジューラ ライブラリを選択。
  2. 真ん中のペインより、先ほど作成した タスク empty を探し、右クリック > 実行する を選択する。

ただし、この方法では、プログラムが実行される度にウィンドウが一瞬表示される。

 

3. VBS を利用し、タスクの実行時にウィンドウを表示させない

タスクが実行される度に、ウィンドウが表示されないようにするは、スクリプトを利用する。

メモ帳を開き、以下のスクリプトを書き、ファイル名は empty.vbs として適当な場所に保存した。ここでは、C:\Program Files\empty\ に置いた。

CreateObject("WScript.Shell").Run "empty *", 0

スクリプトの書き方は、コマンドウィンドウを表示しないで実行するには - Mookノート を参考にした。

 

タスク スケジューラでタスクを編集

先ほど作成したタスク empty を修正する。

  1. タスク スケジューラを開き、左側のペインより、タスクスケジューラ(ローカル) > タスク スケジューラ ライブラリを選択。
  2. 真ん中のペインより、先ほど作成した タスク empty を探し、右クリック > プロパティ を選択。
  3. 操作」タブで、編集ボタンを押す。
  4. プログラム/スクリプト で、上記の保存したスクリプトを参照して、指定する。引数の追加は、空にした。

img_0037

 

4. タスクの履歴を確認する

SnapCrab_タスク スケジューラ_2013-1-13_1-0-39_No-00予めタスクの履歴を有効にしておく。

タスクのプロパティと履歴を表示する によると、

タスクの履歴は、有効または無効に設定することができます。[操作] ウィンドウで [すべてのタスク履歴を無効にする] または [すべてのタスク履歴を有効にする] をクリックして、タスクの履歴の表示を変更します。

その後、各タスクを選択し、「履歴」タブをクリックすると、履歴が表示される。

作成したタスクは、「ログイン後」に実行されるので、一度ログアウトした後、再ログインし、履歴を確認する。

 

5. スリープから復帰したときに実行する

追記(2013/02/01): スリープから復帰したときに、ブラウザの動作がもっさりする傾向ある。スリープから復帰した直後にも empty.exe を実行したい。

上記で作成したタスク empty のプロパティを開く。

「トリガー」タブを開き、「新規」ボタンを押す。

SnapCrab_新しいトリガー_2013-2-1_1-16-12_No-00「トリガーの編集」ウィンドウにおいて、以下のように設定した。

  • タスクの開始: イベント時
  • 設定
    • ログ: システム
    • ソース: Power-Troubleshooter
    • イベント ID: 1

 

設定値

このトリガーは、システムのログを元にしている。

トリガー によると、

[イベント時]
このトリガーは、特定のイベント エントリがイベント ログに追加されたときにタスクを実行させます。…

基本イベント トリガー設定を選択する場合、特定のイベント ログの 1 つのイベントがタスクをトリガーします。イベントが含まれるイベント ログとイベント発行者名を選択し、イベント ID を指定します。

システムがスリープするときのログを調べるには、以下を参照。

具体的な値は、システムの起動・終了時に記録されるイベントログ – GeekFactory によると、

休止状態から回復
Power-Troubleshooter
1
システムはスリープ状態から再開しました。

 

参考記事

参考サイト

2012年1月9日月曜日

どんな紙でもポストイットにする糊 - 「貼ってはがせる糊」も100円ショップにあった

1. スコッチ (Scotch) は、貼ってはがせるのり

ちょっとしたメモには、ポストイットを使う。 TODO やアイディアをさっと書き、ディスプレイの端や、ノートに貼り付ける。貼りつけた後に移動できるので、後で分類したり、考えをまとめたりするときの必需品。

印刷に失敗した裏紙も、メモ用紙として活用するため、ポストイット程度の大きさにして、机に常備している。こちらもポストイットのように、糊で貼り付けた後、はがして整理したい。

3Mのスコッチは、はってはがせるスティックのり

きれいにはがせて、貼り直しもできる、仮止めや切り貼り作業に最適なスティックのりです。

  • なめらかでのびがよくつかえます。
  • ムラなく塗れてしわになりません。
  • 重ね塗りすれば、粘着力が強くなります。

近くの文房具店で、売ってなかったため、Amazon で検索。送料のことを考えると、まとめ買いした方がお得。

しかし、よほどまとめ買いをしないと、値段に対して送料が高くつく。。(@_@;

 

2. ダイソーにあった「貼ってはがせる糊」

先日、100円ショップのダイソーに、モレスキンの手帳ならぬ、ダイスキンを探しに行った。

運良く、ダイスキンの A7 サイズが置いてあった。手にとって見ると、ノートとしてはこれで十分。モレスキンの10分の1以下の値段を考えれば、自然とこちらを選択する。長期間の保存に適しているのか分からないけれど、どうせ大したことは書かなので、必要にして十分。

来たついでに、貼ってはがせる糊「スコッチ」の類似品もあるかと思い、探してみた。期待せずに、糊のコーナーを見ていたら、「貼って剥せるのり」を発見。

DSC03617

2本で100円なので、およそスコッチの6分の1くらいの価格。

モレスキンの模造品がダイスキンなら、こちらは、さしずめ「ダイスコッチ」とでも呼べばいいだろうか?

1週間使ってみたが、接着に問題を感じない。貼り跡が残ることもなく、逆に接着が弱いわけでもない。長期間の場合、どうなるか分からないけれど。

それにしても、商売って、何でもありの殺し合いの世界だな。中国のパチモノもびっくりの100円品質。恐るべし、類似品。どんどん、先発品をパクっ…、倣って下さい。

 

3. 色々な「貼ってはがせる」シリーズ

貼ってはがせる」をキーワードに検索すると、色々と便利そうなものが見つかった。

 
http://wol.nikkeibp.co.jp/article/column/20110922/114103/

新感覚の“はってはがせる”付箋「PETA」:日経ウーマンオンライン【川島屋百貨店】 via kwout

古いノート PC に Lubuntu をインストール - ブラウザは Chromium, IME にMozc, wine で Windows アプリケーションも利用

1. Lubuntu で、Google Chrome, Google 日本語入力、Windows アプリケーションを使いたい

家に古いノート PC がある。

CPU Pentium M 1.5GHz, メモリ 1G。OS は Windows XP。

普段、自分が使っているデスクトップ PC の方が動作が早いため、このノート PC を使うと、余りの遅さに辟易する。

Linux をインストールすれば、サクサク動いてくれるだろうか?

以前に、Ubuntu を VirtualBox へインストールしたことがある。このとき、軽い動作にするために、Ubuntu の派生である Lubuntu をインストールした。今回、ノート PC に、この Lubuntu をインストールしてみるとにした。

要件は、

  1. ブラウザは、Google Chrome を使いたい。
  2. IME は、Google 日本語入力を使いたい。
  3. Windows アプリケーションも利用したい

 

2. はじめに Ubuntu をインストール

Lubuntu は、Ubuntu から派生したディストリビューション。Ubuntu の派生品の一覧を見ると、

比較的「軽い」ディストリビューション。

と紹介されている。

Lubuntu の特徴を確認しておく。

Ubuntuから派生したディストリビューションであり、「軽量で、リソース消費量が少なく、省エネ」なことを目指したプロジェクトである。…

LubuntuのRAM使用量は通常インストール状態でデスクトップとして使われたXubuntuやUbuntuのほぼ半分であり、Live CDを使った場合1/3になることが示された。[4]また、現在のUbuntu公式派生ディストリビューションの中で一番の人気を誇っている[15](2011年12月現在)…

Lubuntu - Wikipedia より)

軽くて、メモリ使用量が少なく、派生品の中では一番人気。

 

Lubuntu はインストールの途中でエラー

当初、lubuntu より、 Lubuntu/GetLubuntu にある

をインストールしようと試みた。しかし、インストールの途中でエラーとなった。

そこで、Ubuntu をインストールした後、Lubuntu へ変更することにした。

UbuntuDownload より、

  • Ubuntu 11.10, 32-bit

をダウンロードし、インストールウィザードに従う。 Ubuntu は、何の問題もなくインストールできた。詳しくは、Ubuntu 11.04インストールガイド - ZDNet Japan を参照。

追記(2013/10/17)PAE 非対応 の古いノートPC で Lubuntu 12.04 を利用する

 

見慣れない Unity
久しぶりにインストールしたら、随分 UI が変更されていたので違和感を感じた。この UI は Unity と呼ばれる。

Unity - Wikipedia によると、

縦に配置されたLauncher[1]と呼ばれるアプリケーションスイッチャー[2]などのインターフェイスが特徴で、タブレットやネットブックなど画面サイズが限定された環境でもスペースを有効に利用できるよう設計されている。Ubuntu11.04から採用され、Ubuntu11.10から本格的に採用された。…

あまりにもタブレットに最適化されすぎていて、デスクトップで使用するのは好ましくないとの意見や、まだ実用レベルではないという意見もある。

2012年のオープンソース界を大胆予想--今年のLinuxとOSSはどうなる? - ZDNet Japan

Canonicalがこの変更を行ったのは、Ubuntuをすべてのデバイスでサポートできるようにするためであり、当然それにはタブレット端末も含まれているはずだ。… Mark Shuttleworth氏も、Unityで行くという判断をした際に、技術の未来に無関心だったはずがない。その計画にはタブレットが必ず含まれているはずだ。

たしかに、Shuttleworth氏が述べた計画では、UbuntuおよびUnityを2年間でタブレットに対応させるということだった。わたしの考えでは、2012年にサプライズが起こり、最初のLinuxタブレットが登場するだろう。

Unity の UI は、慣れれば使いやすいのかもしれない。しかし、直感的なカスタマイズができないことと、インストールしたノート PC では、動作が重くて利用する気になれなかった。

ランチャーに登録したアプリケーションの位置を変更する方法

左横のランチャーに登録してあるアプリケーションの位置を変更する方法が、最初わからなかった。ランチャーにアプリケーションを登録する方法は、Windows 7 と同じように、アプリケーションを起動したら、そのアイコンを右クリックして、登録すれば良い。しかし、アイコンをつかんで移動させようとすると、ランチャー全体が帯のように縦方向に移動してしまう。アイコンの位置を変更するには、アイコンをクリックしたまま、ちょっと待ち、その後移動させる。Windows 7 とは少し勝手が違った。

ランチャーのアイコンを移動させる方法は、直感的だった。しかし、Dash ホームで表示される内容を、直感的な操作により自由に変更することができなかった。これが簡単にできるようになれば、使いやすい UI かもしれない。

ハイバネートとサスペンドができない

ハイバネート、サスペンドをさせると、その後、復帰できなかった。 PC は動作しているが、画面が真っ黒なまま。なぜか、一度ログアウトし、再ログインするとハイバネートとサスペンドが正常に動作した。

ハイバネート、サスペンドの後に、パスワードの入力を求めないように設定したかったので、

  • gconf-editor

をインストール。設定エディタを起動し、

  • / > desktop > gnome > lockdown の disable lock screen

にチェックしたけれど、ダメだった。

xubuntu, lubuntu では、ハイバネートとサスペンドは正常に動いた。

 

ブラウザのインストール
Google Chrome に相当するアプリケーションは、Chromium

Chromiumのスナップショットは、Googleによるいくつかの追加機能を除いて、Google Chromeの最新ビルドと本質的に似ている[4]。Google Chromeに含まれているがChromiumには含まれていない代表的なものには、Googleブランド、自動アップデート機能、クリックラップ契約(利用許諾に「同意する」を押下することで承諾するもの)、RLZトラッキング機能、Adobe Flash Playerの同梱などがある。

Chromiumプロジェクトの名前の由来は、鉄などのめっきに使われることで知られる金属系元素クロム英語でchromium)である。そのクロムめっきを施した金属を英語で chrome と呼ぶことから、「(Google) Chromeを作るのに使うモノ」という意味でこの名称となった[5]

Ubuntu ソフトウェアセンターで `Chromium’ で検索して、インストール。

Adobe Flash Player もインストールしておく。

 

IME のインストール

Google 日本語入力に相当するのは、Mozc 。

http://code.google.com/p/mozc/

mozc via kwout
オープンソース版はMozc(モズク)という名称で公開されている。

2010年5月11日Google Chrome OSで必要な部分のみが「mozc」という名称で、オープンソース化された[4]

ただし、Mozc は Ubuntu ソフトウェアセンターで検索しても、見つからなかった。

そこで、Synaptic Package Manager を使う。予め、Ubuntu ソフトウェアセンターで `synaptic’ で検索し、インストールしておく。

その後、Synaptic パッケージマネージャで `ibus-mozc’ を検索し、インストール指定し、適用する。

インストール後、一度、ログインしなおす。

  • メニューバーのキーボードのアイコン > 設定 > インプットメソッド

で Mozc を選択する。

日本語と英数を切り替えるには、Ctrl + Space を押す。

 

Windows アプリケーションを動かすために
7-zip

Windows で使われる圧縮形式を解凍できるように、7-zip をインストールしておく。Ubuntu ソフトウェアセンターで `7 zip’ で検索して、インストール。

7-zip で解凍するには、端末を起動し、

7z x アーカイブ名

Wine
Windows アプリケーションを動かすためのソフトは Wine

Wine (ワイン)は、オープンソースWindows API 実装を通じて、主として x86 アーキテクチャ上の Unix 系 OSにおいて Microsoft Windowsアプリケーションをネイティブ動作させることを目標とするプログラム群である。…

Windows プログラムが要求する DLL の代替品を供給し、また Windows NT カーネルプロセスを再現することによって、Windows プログラムをネイティブ動作させる。簡単に言えば Wine は、Linux 上で Windows を動作させているのではなく、Linux に Windowsと同じ挙動をさせているのである。

Ubuntu ソフトウェアセンターで `wine’ で検索。現在、バージョンが 1.2, 1.3, Beta とある。

サウンドが正常に出力されない

試しに、スライドぽぷん を動作させてみた。

ダウンロードし、解凍後、ダブルクリックで起動するには、

  • アプリケーションで右クリック > プロパティ > 開き方

で `Wine Windows Program Loader’ を選択する。ただし、バージョン 1.2 では、プロパティのアクセスで、「プログラムとして実行可能」にチェックをする必要がある。

バージョン 1.3 では、サウンドが正常に出力されるが、動きが悪くなった。バージョン 1.2 では、サウンドが一部出力されない代わりに、動きがよくなった。Configure Wine のオーディオの設定で、「音のテスト」音が出た EsounD を選択したら、全てのサウンドが出力されたが、音がでるタイミングがおかしくなった。

アプリケーションによって、ちゃんと動いてくれるものと、そうでないものがある。

 

3.  Ubuntu から Lubuntu へ変更

10.04なら「Lubuntu」化が超簡単!Xubuntuよりもサクサク動くデスクトップが一気に導入可能! « LiberOS | Viva! Ubuntu!! によると、

Ubuntuが採用しているパッケージ管理システム”apt”には一気にパッケージをまとめて導入できる「メタパッケージ」という便利な機能があります。

デスクトップ環境関連のメタパッケージとしては、「kubuntu-desktop」、「xubuntu-desktop」、「ubuntustudio-desktop」、「mythbuntu-desktop」、「edubuntu-desktop」(教育用)、「Ichthux desktop」(キリスト教向け)、「matchbox-desktop」(8.04までで終了)などがあり、Synapticパッケージマネージャからこれらをインストールするだけで、デスクトップ環境をガラリと変えてしまうパッケージ類を一気に導入することが可能です。

Synapticパッケージマネージャを起動し`lubuntu-desktop’ を検索し、インストール指定したら、適用する。

一旦ログアウトし、ログイン画面で、lubuntu を選択。

さすがに、Lubuntu の方が Unity よりも、メモリ使用量が少なく、動きも良かった。また、ハイバネート、サスペンドも正常に利用できるようになった。

デスクトップをカスタマイズするには、

  • メニューより、設定 > Openbox Configuration Manager

を利用する。

2012年1月7日土曜日

壊れそうな古い PC で、動作の軽い Puppy Linux を利用する

1. 壊れそうな古い PC で、軽い Linux を動作させたい

今にも壊れそうな PC がある。おそらく数年前のもので、CPU は Celeron 2.66GHz, メモリ 512 MB。しばらく使っていると、ファンが唸りだし、HDD へアクセスする度に異音がする。近々、廃棄予定とのこと。しかし、都合上、この PC で作業しなければならなかった。

OS は Windows XP。動作は軽いかと思いきや、メモリの使用量の多い、アンチウィルスソフトを常駐させているため、ブラウザを起動しただけで、物理メモリを超えてしまう。 そのため、Google ドキュメントで文書を作成しようとしても、なかなか反応がない。同時に、オフィス系のアプリケーションを起動すると、余りのレスポンスの悪さのために睡魔に襲われる。

Notepad++ のような、軽いエディタを使うくらいなら、何とかいける。しかし、HDD が昇天するかもしれない今、この PC のローカルに文書を保存することは躊躇われる。できることなら、クラウドに保存しておきたい。

Dropbox のような、ローカルのデータを、オンラインにも保存してくれるサービスを使い、今を乗り切る手もある。しかし、作業中の文書を、既に Google ドキュメントで管理しているので、ブラウザを利用できることが望ましい。

また、ローカルに消すことのできないデータがあり、OS を再インストールする時間的余裕もない。

そこで、CD-ROM から、軽い動作の Linux を起動し、ブラウザで Google ドキュメントにアクセスし、文書を作成することにした。

 

2. 軽いディストリビューションの候補を探す

普段は、Windows を使っている。 Linux を日常的に利用したことはない。そのため、何を使えばいのかわからない。使わなくなった古い PC に、軽いLinux をインストールするため、Windows 上の VirtualBox へ Ubuntu をインストールして検討したことはある。(2010.6.6) このときは、Ubuntu の派生である、Lubuntu を使用した。

Ubuntu の推奨環境は、

  • Pentium 4 1GHz プロセッサ
  • 1GBのシステムメモリ

    Ubuntu - Wikipedia より)

  • Ubunu を利用したら、現状より動作が緩慢になるかもしれない。CPU は大丈夫だけれど、メモリに余裕がない。

    Ubuntu日本語フォーラム / 古いPCだと難しいのでしょうか(2008-05-31) には、

    が、軽いディストリビューションとして紹介されていた。

     

    EcoLinux

    Ecolinux - Wikipedia によると、

    Ecolinux(エコリナックス)は日本で開発されているUbuntuベースの軽量Linuxディストリビューション

    EcolinuxはUbuntuのソフトウェアを用いて、ロースペックマシンの利用者等に最新かつ軽量なオペレーティングシステムを提供することを目指している。…

    Ubuntuには収録されていないようなハードウェアドライバのパッケージが多くインストールされており、Ubuntuが動作しないマシンでも動作する可能性がある。

    Ubuntu - Wikipedia には、Ubuntu の非公式な派生物として挙げられている。

     

    Puppy Linux
    Puppy Linux - Wikipedia によると、

    Puppy Linuxパピーリナックス)とは、Linuxディストリビューションの一つである。独自に開発されたLive CDLinuxディストリビューションであり、3.0以前はSlackwareと高い互換性を持っていた。…

    • RAMを利用する仕組みを採用するので、ハードディスクが無くても運用できる。また、この機能のおかげで起動時以外はLive CDが不要…
    • 個人設定はメディアやハードディスクへ恒久的に保存…
    • CPUの最低ラインがMMXPentiumクラスと、他のLive CDに比べてとても軽い。…
    • パッケージの基本的な管理は、PETパッケージ・マネージャーによって行う。…
    • Debianパッケージの利用も可能。…
    • 4.2以降の版ではパッケージマネージャがUbuntuパッケージ(.deb)に対応。…

    動作が軽いことに加え、Live CD を利用した場合でも、設定を保存できるところが興味深い。

    同じような機能は、KNOPPIX にもある。

    … CD/DVDから起動するため、書き込み(データの変更)を行うことができるユーザのホーム・ディレクトリなどがRAMディスク上に置かれており、パソコンの再起動シャットダウンで保存したデータは消えてしまう。しかし、それらをフロッピーディスクハードディスクUSBメモリなどに保存することもできる。

    KNOPPIX - Wikipedia より)

    独自のパッケージマネージャを持っているのに加え、Debian, Ubuntu パッケージも利用できるところが便利そう。

    Linuxディストリビューションには、Slackware系の1つとして挙げられている。また、Linuxディストリビューションの比較 - Wikipedia では、ベースとなるディストリビューションは、none となっている。

     

    3. Puppy Linux は軽かった

    Ubuntu, EcoLinux, Puppy Linux の Live CD を入手して、実際に起動してみた。

    その結果、Puppy Linux の動作が圧倒的に軽かった。次に EcoLinux で、Ubuntu は重くて使えなかった。

     

    Google ドキュメントの入力のために、Google Chrome をインストール
    ただし、上記バージョンの Puppy Linux のデフォルトブラウザでは、Google ドキュメントで、日本語入力が上手くできなかった。当初、エディタで文字を入力してから、Google ドキュメントにコピペしていた。デフォルトのブラウザである SeaMonkey との相性が悪いようだった。文書作成ですら、非効率で困った。

    そこで、ブラウザを変更するために、Google Chrome をインストール。

    を参考にして、

    をダウンロードして、PETget パッケージマネージャで開き、インストールした。

    これにより、日本語入力での問題がなくなった。

     

    Windows の共有フォルダへアクセス
    • メニューより、ネットワーク > Pnethood Samba 共有

    を起動し、ネットワーク内の共有フォルダに connect ボタンで、接続。show ボタンにより、内容を表示させることができた。

    とりあえず、文書作成用の PC として、使えるようになった。