2013/10/09

Ubuntu  Scratchで画面が黒くなる。

Scratchで黒い画面


Ubuntu 12.04 で Scratch を起動すると画面が黒くなって反応しなくなったり,画面を最大化すると黒くなって反応しなくなる不具合がある。この現象は Ubuntu 12.10 でも起こることが報告されている。(参考:3)

原因


Ubuntu 21.04 に LTSP * がインストールされていて、XSHM ** が有効になっていると Scratch が正常に動作しない。(参考:1)

解決策


 以下の手順に従って Scratch ファイルの中のオプション -xshm を削除するか、$XSHM と書き換える。
  - 端末から以下のコマンドを使って scratch  ファイルを開く。

  sudo gedit /usr/bin/scratch

  - scratch  ファイルを開いたら

   VMOPTIONS=
"-encoding UTF-8 -vm-display-x11 -xshm -plugins /usr/lib/scratch/plugins/:$SQ_DIR/"

    から -xshm を削除して

   VMOPTIONS=
"-encoding UTF-8 -vm-display-x11 -plugins /usr/lib/scratch/plugins/:$SQ_DIR/"

    とするか(参考:2)、-xshm を $XSHM と書き換えて

   VMOPTIONS=
"-encoding UTF-8 -vm-display-x11 $XSHM -plugins /usr/lib/scratch/plugins/:$SQ_DIR/"

    とする。(参考:1)

LTSP: LSTP (Linux Terminal Server Project) とは複数の人がサーバーにアクセスするためのソフトウェアの集まり。(参考:4)

XSHM: XSHM (Cross-Site History Manipulation) とはグラフィックカードを使うためのソフトウェア (ドライバー) の一つ。(参考:5)

参考


  1. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=692587
  2. https://bugs.launchpad.net/ubuntu/+source/scratch/+bug/1025013
  3. https://bugs.launchpad.net/ubuntu/+source/scratch/+bug/1072309
  4. Linux Terminal Server Project
  5. http://wiki.ubuntuusers.de/Videotreiber_%C3%A4ndern?highlight=XSHM

2013/06/09

Ubuntu  巨大ファイル uvcdynctrl-udev.log

ハードディスクの空き容量がほとんどなくなる

Ubuntu 12.04 をインストールしてあるPCを使っていたら、ハードディスク(HDD)の空き容量がほとんどななくなっているとの警告が出てきた。個人データは150GB程度だし、HDDの容量は1TBある。だからそんなはずはない。システムモニターで確かめると、確かにHDDの容量をほとんど使いきっている。


巨大ファイルの存在

調べてみると、/home のディスク使用量は200GB弱だが、/var のディスク使用量が800GB近くなっている。そんなバカな…。さらに調べると、/var/log だけで800GB弱のほぼすべての容量を占めている。/var/log の中身を確認すると uvcdynctrl-udev.log というファイルがあり、このファイルのサイズが800GB弱あった。


理由は uvcdynctrl のバグ

uvcdynctrl-udev.log というのはログファイルの一つで、ログファイルとはPCの状態や通信内容を記録しておくファイルの事である。(参照;1)uvcdynctrl-udev.log はwebカメラやビデオカメラなどをUSBスロット(差込口)経由でPCに接続し、uvcdynctrl を使って高画質の映像を扱うときの記録を残すためのログファイルだ。(参照:2,3,4) uvcdynctrl は Linux で高画質映像を扱うときに使うソフトウェアの一つだ。(参照:2)この uvcdynctrl にはバグがあり、uvcdynctrl-udev.log に記録するときに、必要以上に莫大な量の情報を記録してしまう。今のところこのバグは修正されていないので、定期的に削除する必要があるようだ。(参照:5)

なお、予想に反してディスク空き容量がなくなった場合の一般的な大暑の仕方は "Filesystem filling up due to large uvcydnctrl-udev.log file”
に詳しく出ている。



参照

 1. Linuxによるセキュリティー入門

 2. Skype HQ-Video

 3. USBビデオクラス (UVC)とは

 4. udevとは

 5. uvcdynctrl spams uvcdynctrl-udev.log and fills up filesystem


2013/06/07

Ubuntu 12.04 HP Deskjet 3522 druckt nicht.


Fnktioniert HP Deskjet 3522 unter Ubuntu 12.04 oder nicht?

Am Wochenende habe ich einen Drucker gekauft. Der Hersteller des Druckers bietet einen Treiber-Paket für den Drucker unter Linux. Trotzdem druckte der Drucker nicht unter Ubuntu 12.04.

Als ich googlete, fande ich einer Seits viele Berichte, in den behauptete, dass der Drucker unter Ubuntu 12.04 funktioniert. Ander Seits fande ich viele Berichte, in den behauptete, dass der Drucker nicht unter Ubuntu 12.04 funktioniert. Nur wenige geschrieben, dass ein Treiber-Paket für den Drucker unter Ubuntu 12.04  aus der HP's-Web-Seite statt durch Paketverwaltung oder Software-Center unterladen und installeiren soll.

Aber ich habe weder Web-Seiten noch Blog's gefunden, in den Grunde geschrieben wurde, warum der Drucker unter Ubuntu 12.04 so willkürlich reagiert. Ich schreibe den Grund aus meiner Sicht hier unter, warum so das ist. 

HPLIP, das Treiber-Paket unter Linux

HP bietet ein Treiber-Paket für HP Deskjet 3520 Serie unter Linux names HPLIP an und es unterstüzt einen Drucker names HP Deskjet 3522. Dann soll der Drucker mit HPLIP unter Ubuntu 12.04 funktionieren. Das Treiber-Paket kann man durch Paketverwaltung oder Software-Center unterladen und installieren. Doch druckt der Drucker mit HPLIP nicht unter Ubuntu 12.04. Hingegen unter Unbuntu 12.10 druckt er.

Bei mir weder mit HPLIP-Toolbox noch ohne

Bei der Einstellung des Druckers mit HPLIP erkennt das Programm HP Deskjet 3522 nicht. Egal, Einstellung durch einen USB-Kabel, Netwerk oder WLan mit einem USB-Kabel ist. Das Einstellungssverfahren geht nicht weiter.

Ohne HPLIP-Toolbox ist zwar möglich, den Drucker einzustellen aber beim Testdrucken reagiert der Drucker nicht. Wärend des Testdrucken läuft Druckvorgang, zeigt der Status der Drucker-Warteschlange "läuft Druckvorgang..." und nach kurzer Zeit zeigt "Druck complite". Doch der Drucker bliebt still.

Es liegt daran...

Ubuntu 12.04 ist am April 2012 veröffentlicht (Siehe Links 3) und die Version des Treiber-Paket, HPLIP, das durch Paketverwaltung oder Software-Center unterladen werden kann, ist 3.12.2-1. Aber die Drucher-Serie HP Deskjet 3520 ist erst Juli 2012 auf dem Markt (Siehe Links 3). Dann das Treiber-Paket, HPLIP-3.12.2-1 unterstüzt nicht diese Serie.

Die Lösung ist...

Um unter Ubuntu 12.04 diese Serie zu benutzen, muss man ein Treiber-Paket neuerer Version, das sie unterstüzt, aus der HP-Webseite unterladen und installieren. Zur zeit (05.06.2013) ist hplip-3.13.5.run aktuell. (Siehe Links 1)     

Einfache Instaliation des Treiber-Paket

Generell braucht man mehr Ahnungen von Instalation unter Linux als Windows zu haben, wenn man kein Software wie Paketverwaltung oder Software-Center benuzt.
Aber um hplip aus der HP-Webseite zu unterladen und zu installieren, ist feuchtbar einfach: HP stellt eine ausführliche Web-Seite für die Instalation her. Außerdem ist das Treiber-Paket automatisch ausführbar. Dabei kann man  eine ältere installierte Version zuerst deinstallieren lassen und dann die neueste aus der Web-Seite installieren lassen.
Man braucht nur das Treiber-Paket aus der HP's Web-Seite zu unterladen, auszuführen und das Instalationsverfahren zu folgen. (Siehe Links 2)

Links

  1. HP Linux Imaging and Printing

  2. Installer Walkthrough

  3. Ubuntu Wiki

  4. HP Deskjet 3520 e-All-in-One  

2013/06/04

Ubuntu  HP Deskjet 3522 で印刷できない。

一昨日プリンター(HP Deskjet 3522)を買ってきて, Ubuntu 12.04 から印刷しようとしたら出来なかった。しかし、HP Deskjet 3522 を含む HP Deskjet 3520 series では Linux に対応したドライバーが提供されていおり、Ubuntu 12.04 もサポートされているので印刷出来るはずだ(参考:3)。今日はこのことについて書こうと思う。


Ubuntu 12.04 から HP Deskjet 3522 で印刷できない。

まず、HP Deskjet 3522 の電源を入れてUSBケーブルで Ubuntu 12.04 をインストールしてあるPCに接続する。次にデスクトップ右上の ショットダウンボタンー>印刷 と進み、プリンターの設定にはいる。設定ではプリンターはすぐに認識され、ドライバーも見つかり、無事に設定終了する。しかし、テスト印刷してみると、印刷されないで終了してしまう。テスト印刷中に印刷キュー(印刷している時にデスクトップ上部に現れるプリンターのアイコン)は出てくるので、クリックしてメッセージを見ると、
 転送しています…
そしてしばらくすると、
 終了
と出てきて終了してしまう。

今度はパッケージマネージャーからドライバーパッケージ hplip-3.12.2-1 を インストールする。しかし、hplip から設定しようとしてもプリンター(HP Deskjet 3522)を認識しない。

上記の試みは無線LAN接続で試みても印刷されない。ところが Windows XP、もしくは Ubuntu 12.10 をインストールしてあるPCからは問題なく印刷できる。(確認済)


解決策

HPのホームページから最新のドライバーをダウンロードしてインストールする。(参考:1)
これで無事に Ubuntu 12.04 から印刷できるようになった。


ドライバーのインストール


HPのホームページ(Installer Walkthrough)に図解入りで詳しく書かれている。
あえて付け足すとすると、

ドライバーは自動インストーラ形式

ダウンロードくるドライバーは自動インストーラ形式のファイルなので、ファイルを実行するだけでドライバーをインストールさせる事が出来る。


ダウンロード先はデスクトップ

ダウンロードするファイルの保存先はどこでもいいが、デスクトップに保存しておくとインストール時に大量のファイル生成されるを整理してくれる。そうでないとインストール後にそれらのファイルがそのまま残ってしまう。

自動インストールがお勧め
インストールは手動で行うことも出来る。しかし、自動でインストールする方法をとると、パッケージマネージャーやソフトウェアセンターからインストールする場合の様に簡単にインストールする事が出来る。しかも、古いバージョンの hplip がインストールされている場合にはそれらをどうするか聞いてくる。その時に古いバージョンをアンインストールしてから最新のバージョンをインストールさせるように選択出来る。


印刷出来なかった原因

HPから HP Deskjet 3520 series で使用するLinux系向けのドライバー HPLIP が提供されている。これを使えば Ubuntu 12.04 サポートされているのでHP Deskjet 3522を使用することは出来る。しかもこのドライバーはパッケージマネージャーやソフトウェアセンターからインストール出来る。

しかし、Ubuntu 12.04 がリリースされたのは2012年4月で(参照:5)、HP Deskjet 3520 series が発売されたのは2012年7月である(参照:6)。そして、パッケージマネージャーやソフトウェアセンターからインストール出来る HPLIP のバージョン 3.12.2-1 は2012年4月以前に提供されてたものだ。これはパッケージマネージャーやソフトウェアセンターからインストール出来るバージョンでは HP Deskjet 3520 series がサポートされているとは言えないことを意味する。印刷出来なかった原因はこれだろう。

もしそうだとすると、Ubuntu 12.10 がリリースされたのは2012年10月だから HP Deskjet 3520 series が問題なく使えるのはうなずける。

したがって、Ubuntu 12.04 で HP Deskjet 3520 series を使うには、ドライバーをHPのホームページからダウンロードしてインストールすることになる。


あとがき

OSのリリース後に発売されたデバイスがサポートされていないのは当たり前の事だ。そのことに気がつかずに Google で検索している時に、Ubuntu 12.04 でパッケージマネージャやソフトウェアセンターからドライバーをインストールしかが HP Deskjet 3522 が使えない、または、HPのホームページからドライバーをインストールしたら使えたという報告は多く見つかった。しかし、その理由(上記)について書かれた資料は見つからなかった。

Linux でデバイスを使用する時には
 OSのリリース時期とデバイスの発売開始時期を確認
 ベンダーからドライバーがが提供されているか
 ベンダーから提供されていない時には必要なドライバーが存在するか
を確認する事を忘れないように。(自戒を込めて)


参考 

 1. HP Deskjet 3520 printer/scanner problem

 2. HP Deskjet 3520 not detected/won't work on 12.04

 3. HP Linux Imaging and Printing

 4. HP 3522 Wireless install successful. Red X next to printer.

 5. Ubuntuとは

 6. HP Deskjet 3520 e-All-in-One



 

2013/04/13

Ubuntu  Lubuntu 12.10 でアップデートしたらシャットダウン出来なくなった。

Lubuntu12.10 をインストールしてある古いマシンがある。このところあまり使用していなかったが、イースター休暇後に久しぶりにアップデートした。そうしたらシャットダウン出来なくなっていることに気がついた。そういえば前回アップデートしたあともそうだった。


システム要件


 CPU      1GHz
 Motherboard  K7S5A  
 チップセット   SiS735 
 メモリー      512MB


症状

起動時にカーネル
 ”kernel 3.5.0-26-generic”
を(またはこれより新しいカーネル)選択すると、シャットダウン時に
 ”mount: / is busy.
  * will now halt.”
と出てきて、そのまま進まなくなってしまう。シャットダウンするには強制終了する以外方法はなかった。
これより古いカーネルでは問題なくシャットダウンできる。


原因

シャットダウン出来ずに強制終了したあとに再度PCを立ち上げて、コマンド

 dmesg

でログをみてみると、最後の方に

 apm: BIOS not found

とかかれた行があった。BIOS ではacpi を有効にしてあるのだが、 何らかの理由で ACPI を認識せず、APM で電源管理をしようとしてしまっているようだ。


解決策


GRUB2 を使用している場合

- 以下のコマンドで端末から /etc/default/grub を開く。

  sudo gedit /etc/default/grub

- ファイルの中の

  GRUB_CMDLINE_LINUX_DEFAULT

  で始まる行の最後に acpi=force を書き加える。
  例えばこの行が
  GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

  と書かれていたら

  GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi=force"

  と書き換える。

- その後は以下のコマンドで grub を更新する。

  sudo update-grub

- 更新したら再起動する。


GRUB を使用している場合

- 以下のコマンドで端末から /boot/grub/menu.lst を開く。

  sudo gedit /boot/grub/menu.lst

- ファイルの中の

  kernel

  で始まる行の最後に acpi=force を書き加える。


備考

acpi=force はカーネルのオプションの一つで、強制的にACPIを有効にすることが出来る。

quiet はカーネルのオプションの一つで、PCを起動するときにカーネルログを表示させないようにする。このオプションは現在では splash と共に使用される。

splash はカーネルのオプションの一つで、PCを起動するときにカーネルログを表示させる代りにアニメーションを表示させる。このオプションは現在では quiet と共に使用される。

ACPI (Advanced Configuration and Power Interface) とは1996年に公開されたPCの電源管理に関するオープン統一規格のことだ。(参考:5) APM (Advanced Power Management) は1992年に公開されたPCの電源管理に関する統一規格のことだ。ACPI と APM の違いは、ACPIは OS 側で電源管理を行うのに対して、APM では BIOS 側でそれを行う。(参考:6)


参考

1. Rechner schaltet sich nicht ab
2. UbuntuTips/Others/BootOptions
3. Shutdown does not power off computer
4. Optionen für Bootmeldungen
5. Advanced Configuration and Power Interface 
6. Advanced Power Management

2013/02/23

Windows XP  パーテーションサイズの変更

Gparted でパーテーションサイズを変更できない


この間手に入れた Amilo M 1425 に Xubuntu 12.10 をインストールして、デュアルブートしようとした。

いつものように Xubuntu の Alternative を使ってインストールしようとしたら、パーテーションサイズの変更でつまってしまった。デュアルブートにする選択肢が現れないのだ。しかたがなく手動でパーテーションを切ろうとしたら、なんと10MBまでしか空き容量を確保できない。しかし、Windows XPがインストールされているパーテーションには40GB以上の空き容量があるはずだ。

そこで Xubuntu 12.10 の Live-CD を使って最初に GParted でパーテーションさイズを変更しようとしたが、これでも出来なかった。やはり Alternative を使ったときと同様に10MBまでしか空き容量を確保できない。 


Windows からパーテーションサイズを変更する


GParted でパーテーションサイズを変更出来ないなら、それに変わるソフトウェアを探さなくてはならない。Windows XP では”ディスクの管理”からパーテーションのサイズを変更出来る。しかし、Windows XP 自身がインストールされているパーテーションサイズの変更は出来ないのだ。

5、6年前、まだ Windows XP をメインで使っていた頃、パーテーションサイズを変更するソフトウェアを探した時にはそのほとんどが有料でフリーウェアではいいものが見あたらなかった。

しかし、今はフリーで使用できるいいソフトウェア "EASEUS Partition Master" があった。これは有料のソフトウェアだが、個人での使用に限り無料で配布されている。ただし、無料版ではサポートを利用出来ない。このソフトウェアを使ってパーテーションサイズを変更することにした。


EaseUS Partition Master について


EaseUS Partition Master とは様々なパーテーションを操作したり、ディスク管理をするソフトウェアだ。即ち、パーテーションの拡張(特にOSがインストールされているパーテーションの拡張)したり、ディスクの管理をしやすくしたり、ディスク容量不足の問題を解決できる。詳しくは EaseUS Partition Master Freeに関する簡単なご紹介 に書かれている。


入手(ダウンロード)

 Partition Manager Free 11.9 より Partition Master Free をクリックする。 


インストール
 
 ダウンロードしたexeファイルをダブルクリックする。後は画面の指示にしたがっていく。(大抵は”はい”をクリックでいい)


使い方

パーテーションサイズの変更

 1. EaseUS Partition Master を起動する。
 2. 起動後、以下の3つの選択肢が現われたら、Partition Manager を選択する。

    - Partition Manager
    - Disk & Partition Copy Wizard
    - Partition Recovery Wizard


 3. ディスクの構成が出てくる。ここからはマウスを使って直感的に操作できる。詳しくは
    - EaseUS Partition Master Freeに関する簡単なご紹介
    - Resize/Move partition (en)
     に書かれている。また、YouTube
   では使い方を見ることが出来る。
 
 4. 最後に”適用”(または”apply”)をクリックすることを忘れずに!
    ”適用”をクリックすると、ファイルシステムが

    - NTFS の場合はすぐに変更が始まる。
    - FAT32 の場合は再起動する必要がある。

参考


EaseUS 公式ホームページ

Partition Manager Free 11.9


Ubuntu  フリーズした Ubuntu から安全に再起動する方法

フリーズ

PC を使っている人は PC がフリーズ(PC がキーボードやマウスからの入力に応答しなくなること)した経験があるだろう。そして、大抵の場合は強制終了して再起動したと思う。


しかし、これをするとメモリーに保存されているデータは全て消えてしまうので、、作りかけのファイルはなくなってしまうし、使っていたソフトウェアの状態も保存されずに使う前の状態に戻ってしまう。また、場合によっては重要なファイルが破損してシステム(OS)に影響を与えることもある。

Linux系の場合にはフリーズした状態から可能な限りHDDにダメージを与えたり、データをなくすことなく、PCを終了したり、再起動する方法がある。それは SysRq Key だ。SysRq を実行するには "alt" と "Print Screen" を同時に押す。 Ubuntu の場合は以下のキー操作で終了させる。(他の Linux でもほぼ同様) 


フリーズした Ubuntu の終了
    "alt" + "Print Screen" + R + S + E + I + U + O
 
    "alt" と "Print Screen" を常に押した状態で R → S → E → I → U → O と順番に押していく。この時正しく実行されるようにそれぞれのキーを長め(1、2秒)に押すとよい。                              

フリーズした Ubuntu の再起動

終了の場合とほとんど同じ。最後のキーのみ異なる。

    "alt" + "Print Screen" + R + S + E + I + U +B
 
    "alt" と "Print Screen" を常に押した状態で R → S → E → I → U → B と順番に押していく。この時正しく実行されるようにそれぞれのキーを長め(1、2秒)に押すとよい。          


それぞれのキーの意味

 R  X Windows からキーボードの制御を取り戻す
 S  書き込みキャッシュのデータをディスクに書き込む
 E  すべてのプロセスにSIGTERMシグナルを送り、正常に終了させる
 I  すべてのプロセスにSIGKILLシグナルを送り、強制的に終了させる
 U  すべてのファイルシステムを読み込み専用で再マウントする
 O  システムを終了する
 B  システムを再起動する


SysRq Key の限界
 
SysRq Key はソフトウェアが原因でフリーズした時には有効だが、Linuxカーネル自身がカーネルパニックを起こしていたり、フリーズしている場合は利用出来ない。


参考

 1. UbuntuTips/Others/MagicSysRq