Link

  • 子ども用PCのテーマに♪

  • 美女Linux

Tweets

無料ブログはココログ

子ども用パソコン know-how

2013年6月26日 (水)

Ubuntu 12.04でのカスタムカーネルの作り方

Image17

今日は、こちらの投稿ではしょってしまったカーネルの再構築のやり方に関して書きたいと思います。
子ども用Live USBに仕込むカーネルは、パソコンの内蔵HDDへのアクセスができないように、NTFS, ext3, ext4などの一般的なファイルシステムのドライバーを削除しておくべきなのですが、Ubuntu 12.04のカーネルはNTFSはモジュールはともかく、他のファイルシステムは抱え込んでしまっています。
仕方がないので、カーネルを再構築して、ドライバーの削除を行うことにしましょう。

続きを読む "Ubuntu 12.04でのカスタムカーネルの作り方" »

2013年6月 9日 (日)

子ども用Live USBを作ってみよう(改訂第2版)

20130609_005459_2

今年に入ってからUbuntu 12.04 LTSのLive USBをカスタマイズした子ども用パソコンに関する記事をメインにブログを書いてきました。

当初から語呂合わせでOKPCという愛称で呼んできましたが、せっかく『萌ぇぶんちゅ(moebuntu)』のToyさんからロゴを頂いたので、今後はこれをKidsntu(きっずんちゅ)という 愛称で呼ぶことにします。

中身は単純にUbuntu 12.04 LTSのオレオレRemix CD(から作るLive USB)ですので、 オリジナルディストリビューションという立ち位置のつもりは毛頭ございませんが、以前よりも少しだけ完成度も高くなってきたので、一度作り方をまとめたいと思います。
これから書く作り方を参考にして頂き、パパさんにとって、家族にとって、子どもにとって、少しでも安全/安心なパソコンライフの助けとなれると嬉しいです。

※以前の記事『子ども用Live USBを作ってみよう』に比べて、手順がとても多くなっています。Windows PCをお子様に貸してあげるのであれば、以前の記事の内容だけでも十分ですので、まずは最小限のものを作って、今回の記事からは欲しいと思ったエッセンスのみ、段階的に取り入れて行くというのも、お勧めの進め方かと思います。

続きを読む "子ども用Live USBを作ってみよう(改訂第2版)" »

2013年3月24日 (日)

子ども用パソコンのプリンタードライバー

Screenshot_20130119

今日は子ども用パソコンOKPCで印刷する方法を見てみましょう。

以前と比べると、各プリンターメーカーさんもLinuxを意識しない訳にはいかなくなって来ているようです。

かく言う私も、Linux用のドライバーを提供していないメーカーからは、絶対にプリンターは買わないと決めています。

各メーカーのホームページをチェックして見ましょう。

続きを読む "子ども用パソコンのプリンタードライバー" »

2013年3月21日 (木)

ubuntu-defaults-builder(シャットダウンタイマー)

Screenshot_20130119

子ども用パソコンOKPCのカスタマイズ内容の説明の続きです。
子ども用Live USBの作り方のページはこちら

今回はシャットダウンタイマーの追加です。

本当はカスタマイズは終わりにしようかと思っていたのですが、子どもに使わせていたらゲーム三昧。時間制限の必要性が身に染みたので、作ってみました。

カスタマイズは、~/liveusb/ubuntu-defaults-ja-12.04/hooks/chrootというファイルでしたね。

## Shutdown Timer
# sudoers
echo "ALL ALL=(ALL) NOPASSWD: /sbin/shutdown" > /etc/sudoers.d/shutdown
chmod 440 /etc/sudoers.d/shutdown

# shutdown script
echo "#!/bin/sh" > /usr/local/sbin/shutdown.sh
echo "/usr/bin/notify-send --icon=gnome-session-halt \"あと\$1ふんで、おしまいだよ\"" >> /usr/local/sbin/shutdown.sh
echo "TIMER=\`expr \$1 - 3\`" >> /usr/local/sbin/shutdown.sh
echo "TIMER=\`expr \$TIMER \* 60\`" >> /usr/local/sbin/shutdown.sh
echo "/bin/sleep \$TIMER" >> /usr/local/sbin/shutdown.sh
echo "/usr/bin/notify-send --icon=gnome-session-halt \"あと3ふんで、おしまいだよ\"" >> /usr/local/sbin/shutdown.sh
echo "sudo /sbin/shutdown -h +3" >> /usr/local/sbin/shutdown.sh
chmod 755 /usr/local/sbin/shutdown.sh

# application for launcher
echo "[Desktop Entry]" > /usr/share/applications/shutdown.desktop
echo "Name=シャットダウン" >> /usr/share/applications/shutdown.desktop
echo "Exec=/usr/bin/notify-send \"右クリックして選んでください\"" >> /usr/share/applications/shutdown.desktop
echo "Comment=遊び過ぎ防止" >> /usr/share/applications/shutdown.desktop
echo "Keywords=おしまい;シャットダウン;タイマー;shutdown;timer" >> /usr/share/applications/shutdown.desktop
echo "Type=Application" >> /usr/share/applications/shutdown.desktop
echo "Terminal=False" >> /usr/share/applications/shutdown.desktop
echo "Actions=Thirty;Sixty;Ninety;" >> /usr/share/applications/shutdown.desktop
echo "Icon=gnome-session-halt" >> /usr/share/applications/shutdown.desktop
echo "" >> /usr/share/applications/shutdown.desktop
echo "[Desktop Action Thirty]" >> /usr/share/applications/shutdown.desktop
echo "Name=30分後にシャットダウン" >> /usr/share/applications/shutdown.desktop
echo "Exec=/usr/local/sbin/shutdown.sh 30" >> /usr/share/applications/shutdown.desktop
echo "" >> /usr/share/applications/shutdown.desktop
echo "[Desktop Action Sixty]" >> /usr/share/applications/shutdown.desktop
echo "Name=60分後にシャットダウン" >> /usr/share/applications/shutdown.desktop
echo "Exec=/usr/local/sbin/shutdown.sh 60" >> /usr/share/applications/shutdown.desktop
echo "" >> /usr/share/applications/shutdown.desktop
echo "[Desktop Action Ninety]" >> /usr/share/applications/shutdown.desktop
echo "Name=90分後にシャットダウン" >> /usr/share/applications/shutdown.desktop
echo "Exec=/usr/local/sbin/shutdown.sh 90" >> /usr/share/applications/shutdown.desktop

最初のパートはshutdownコマンドをパスワードなしで実行するためのおまじないです。

次のパートは、/usr/local/sbinにshutdown.shというスクリプトを配置しています。
このスクリプトは、分単位の引数(必ず4分以上)を付けて呼び出します。
起動時と、残り3分になった時に通知センターに残り時間を表示します。
そして、指定時間が来たら、強制的にパソコンをシャットダウンしてしまいます。
まぁ、再起動されたらそれでお終いですが、一つの抑止力にはなるでしょう。

次にランチャーに配置するアプリケーション?を/usr/share/applicationsに作ります。
このアイコンをランチャーに置いておくと、右クリックで30分、60分、90分後にシャットダウンの予約をする事が出来ます。

手動で起動させなくてはならないのが難点ですが、パソコンを貸す時には親が付いていると仮定して、まず子どもに渡す前に、シャットダウンの予約を実行するという使い方を想定しています。

他に上手い手があれば、アイデアだけでも頂けたら、実現方法を考えてみます。

2013年3月14日 (木)

ubuntu-defaults-builder(『萌ぇぶんちゅ』テーマのダウンロード)

Screenshot_20130119

子ども用パソコンOKPCのカスタマイズ内容の説明の続きです。
子ども用Live USBの作り方のページはこちら

今回は萌ぇぶんちゅテーマのダウンロードです。

カスタマイズは、~/liveusb/ubuntu-defaults-ja-12.04/hooks/chrootというファイルでしたね。

## Moebuntu Part ##

# tools
apt-get -y install ubuntu-tweak
apt-get -y install myunity

# font みかちゃん
#apt-get install fonts-mikachan

# 萌えPinkアイコン
wget -O - http://ubuntuone.com/7D4mAezxKAJtJEPvRQqlqj | zcat | ( cd /usr/share/icons ; tar xf - )

# 萌えPinkテーマ
wget -O - http://ubuntuone.com/1NGaXInPaJ0lcPn6xQ2J5V | zcat | ( cd /usr/share/themes ; tar xf - )

# 萌えBlueテーマ
#wget -O - http://ubuntuone.com/3LGGAL1v1mfMpFQrOJDCuZ | zcat | ( cd /usr/share/themes ; tar xf - )

# 萌えYellowテーマ
#wget -O - http://ubuntuone.com/59pY4oO1HynjlPlGIookXI | zcat | ( cd /usr/share/themes ; tar xf - )

# 萌えOrangeテーマ
#wget -O - http://ubuntuone.com/6icPXNV2chIDgjOHWj5l2s | zcat | ( cd /usr/share/themes ; tar xf - )

# 萌えRedテーマ
#wget -O - http://ubuntuone.com/2YdMmPDK3o8aAnEeTMyNjW | zcat | ( cd /usr/share/themes ; tar xf - )

# 萌えGreenテーマ
#wget -O - http://ubuntuone.com/1zPsKIddHUAhJlkVuDZIrW | zcat | ( cd /usr/share/themes ; tar xf - )

# 萌えBlueGreenテーマ
#wget -O - http://ubuntuone.com/7Lvo4sHSyc7xqMDwfgD0j1 | zcat | ( cd /usr/share/themes ; tar xf - )

# 萌えNavyテーマ
#wget -O - http://ubuntuone.com/6dQM9CvjxQfcLuGkTPchxY | zcat | ( cd /usr/share/themes ; tar xf - )

# 萌えPurpleテーマ
#wget -O - http://ubuntuone.com/2mtFSdcIT6zIRr5rEBa2PD | zcat | ( cd /usr/share/themes ; tar xf - )

# 萌えDash Icons
wget -O - http://ubuntuone.com/1w8cyNKEDKNtwWQMgioCHi | zcat | ( cd /tmp ; tar xf - ; cp -f /tmp/DashIcons/MoeDashIcons/* /usr/share/unity/5 )

子どもウケするデスクトップを作るため、萌ぇぶんちゅテクノロジーを採用させて頂きました。

アイコン、Pinkテーマ、Dashアイコンの3つを、必要な場所にダウンロードしています。

フォントは変更すると見にくくなってしまう場合もあるので、今回は見合わせました。また、OKPCは自動ログインのLive USBなのでログイン画面のカスタマイズも実施していません。

詳細は萌ぇぶんちゅのオリジナルサイトを見ていただきたいですが、ここまでダウンロードしておけば、あとは先にインストールしておいたMyUnityを使うだけで、デスクトップテーマとアイコンの変更が可能です。

何故かフォントの変更は、MyUnityが落ちてしまうので、萌ぇぶんちゅのマニュアル通り、Ubuntu Tweakを使うのが良さそうです。Ubuntu Tweakもインストール済みです。
サンプルではコメントアウトしてありますが、「みかちゃんフォント」はリポジトリに入っているので、お手軽にインストールできます。

他のテーマもLive USBに入れておきたい時には、それぞれのコメントを外してください。

参考になりましたでしょうか?

「こんな風にしたよ!」なんて、オリジナルの子ども用のLive USBを作ったら、教えて頂けると励みになります。

2013年3月10日 (日)

ubuntu-defaults-builder(NTFSファイルシステムへのアクセス禁止)

Screenshot_20130119

子ども用パソコンOKPCのカスタマイズ内容の説明の続きです。
子ども用Live USBの作り方のページはこちら

今回はカーネルモジュールの削除です。

カスタマイズは、~/liveusb/ubuntu-defaults-ja-12.04/hooks/chrootというファイルでしたね。

# delete NTFS kernel module
rm -rf /lib/modules/*/kernel/fs/ntfs
rm -rf /lib/modules/*/kernel/fs/btrfs
update-initramfs -c -k all -v

ここでNTFSファイルシステムにアクセスするためのカーネルモジュールを削除しています。

ついでにもう一つ、btrfsという新しいファイルシステム用のカーネルモジュールの削除も行いました。使いもしないのに、メモリーを結構消費していたような気がしたからです。

さすがにモジュールを削除して、update-initramfsを実行するのは、本来の正しいやり方ではないと思うのですが、他に簡単なやり方が見つかりませんでした。
問題なくNTFSのパーティションにアクセス出来なくなっているので、結果オーライとしたいと思います。

以前にも書きましたが、ext3, ext4はカーネルが抱え込んでいるため、同様のやり方でアクセスを禁止する事は出来ません。

2013年3月 7日 (木)

ubuntu-defaults-builder(言語/キーボード/タイムゾーン設定)

Screenshot_20130119

子ども用パソコンOKPCのカスタマイズ内容の説明の続きです。
子ども用Live USBの作り方のページはこちら

今回はタイムゾーンの設定です。

カスタマイズは、~/liveusb/ubuntu-defaults-ja-12.04/hooks/chrootというファイルでしたね。

## hwclock & timezone
cat /etc/default/rcS | sed 's/UTC=yes/UTC=no/' > /tmp/rc.$$
mv -f /tmp/rc.$$ /etc/default/rcS

LinuxはシステムクロックがUTCである事が多いのですが、OKPCはWindowsとの共存を前提としていますので、システムクロックがローカルタイムの方が都合が良いようです。
そこで、/etc/default/rcSを用いてシステムクロックはUTCではない事をOSに教えてあげます。

echo "Asia/Tokyo" > /etc/timezone
dpkg-reconfigure -u tzdata

その後、/etc/timezoneをTokyoで作り、システム全体に反映させています。

2013年3月 3日 (日)

ubuntu-defaults-builder(不要パッケージの削除)

Screenshot_20130119

子ども用パソコンOKPCのカスタマイズ内容の説明の続きです。
子ども用Live USBの作り方のページはこちら

今回は不要パッケージの削除です。

カスタマイズは、~/liveusb/ubuntu-defaults-ja-12.04/hooks/chrootというファイルでしたね。

コメントアウトしてある関係のないパッケージを除き、順に説明していきます。

## Remove software
# Remove ThunderBird
( cd /usr/share ; tar cf - ubuntu-defaults-ja) | ( cd /tmp ; tar xf - )
apt-get -y autoremove thunderbird thunderbird-globalmenu thunderbird-gnome-support thunderbird-locale-ja
( cd /tmp ; tar cf - ubuntu-defaults-ja) | ( cd /usr/share ; tar xf - )
# -- ThunderBird ---

メールソフトのThunderBirdを削除しています。小さな子どもには不要ですよね。困ったことにThunderBirdを削除すると、ubuntu-defaults-jaパッケージも依存関係により一緒に削除されてしまい、言語設定とキーボードレイアウトのデフォルトが英語になってしまいます。それを避けるために、/usr/share/ubuntu-defaults-jaを一旦退避し、ThunderBird削除後に書き戻しています。

rm -f /usr/share/applications/palimpsest.desktop
apt-get -y autoremove gparted

gnome-disk-utilityは削除してしまうと必要なライブラリまで消してしまい、致命的な不具合が起きるので削除はしない方が良いようです。代わりにGUIでディスク情報を見たり、操作したりできるデスクトップアプリケーションを削除して、容易にディスク操作が出来ないようにしました。
パーティションエディタgpartedを削除します。誤ってハードディスクのフォーマットとか、パーティションの操作とかされてはたまりません。

apt-get -y autoremove usb-creator-gtk

Live USBを作るツールですが、子どもには不要でしょう。

#apt-get -y autoremove firefox firefox-locale-ja firefox-globalmenu firefox-gnome-support firefox-locale-ja

WebブラウザーのFirefoxを削除する場合には、この行を有効にします。今回はコメントアウトしてある事からもわかる通り、Firefoxの削除は行っていません。

apt-get -y autoremove libreoffice-calc libreoffice-draw libreoffice-emailmerge libreoffice-gnome libreoffice-gtk libreoffice-help-en-us libreoffice-help-ja libreoffice-impress libreoffice-l10n-ja libreoffice-math libreoffice-style-human libreoffice-writer libreoffice-core libreoffice-base-core libreoffice-style-tango libreoffice-common

オフィスソフトのLibre Officeを削除しています。
聞くところによると、最近お友達の4年生が学習発表の様な場で、パワポを使ってプレゼンしたそうです。中学年以上であれば、削除しないほうが良いかも知れません。

apt-get -y autoremove gwibber-service-facebook
apt-get -y autoremove gwibber-service-identica
apt-get -y autoremove gwibber-service-twitter
apt-get -y autoremove empathy
apt-get -y autoremove gwibber

この辺ではSNSやメッセンジャー関連ソフトを削除します。

apt-get -y autoremove transmission-gtk

P2Pのファイル転送ソフトを削除します。子どもには使い道がありませんから。

apt-get -y autoremove gnomine aisleriot mahjongg gnome-sudoku gnome-games-data

ここで幾つかのゲームを削除しています。

apt-get -y autoremove bluez bluez-alsa bluez-gstreamer gnome-bluetooth

bluetooth関連ソフトを削除しています。もしbluetooth機器をお使いでしたら、この行はコメントアウトしてください。

apt-get -y autoremove ntfs-3g

ここでNTFSファイルシステムにアクセスするためのパッケージを削除します。NTFSへのアクセス禁止は、このパッケージの削除だけでは出来ないようでした。詳細は次回以降に。

不思議な事に、このパッケージを削除すると、本体ハードディスクへのインストーラーも削除されるようです。子どもが本体ハードディスクを完全に消去できるインストーラーなんて動かしてしまうと大事ですので、インストーラーの削除は重要です。

NTFSへのアクセスは必要で、インストーラだけを削除したい場合には、ubiquityというパッケージを削除してください。インストール出来なくなるので、起動時の「Ubuntuを試す」「インストールする」を選択する画面も表示されなくなります。ホントに良く出来ていますね。

apt-get -y autoremove ibus-pinyin

これは、おそらく中国語のIMEのようです。不要と判断して削除します。

apt-get -y autoremove brasero

CD/DVDの書き込みソフトです。子どもが使うこともないでしょうから削除します。

apt-get -y autoremove onboard

ソフトウェアキーボードの様ですが、使う機会もないと思い削除しました。

apt-get -y autoremove ubuntuone-installer
apt-get -y autoremove ubuntuone-client-gnome
apt-get -y autoremove ubuntuone-control-panel
apt-get -y autoremove python-ubuntuone-client
apt-get -y autoremove python-ubuntuone-control-panel
apt-get -y autoremove python-ubuntuone-storageprotocol
apt-get -y autoremove rhythmbox-ubuntuone
apt-get -y autoremove ubuntuone-client
apt-get -y autoremove ubuntuone-couch

クラウドストレージサービスUbuntu One関連のパッケージを削除します。

apt-get -y autoremove gnome-orca

スクリーンリーダーの様ですが使うことはないでしょう。

apt-get -y autoremove unity-lens-gwibber
apt-get -y autoremove unity-scope-musicstores
apt-get -y autoremove unity-lens-music
apt-get -y autoremove unity-lens-video
apt-get -y autoremove unity-scope-video-remote

UnityのLensで余計なものが検索されるのを防ぎます。

apt-get -y autoremove btrfs-tools

Btrfsと言う新しいファイルシステムのためのツールです。まだまだ普及していない事と、メモリーを無駄に消費している気がするので削除します。

パッケージの要不要は結局は個々人のニーズの問題ですので、削除している中で必要なパッケージがあれば、コメントアウトしてビルドしてください。

2013年2月28日 (木)

ubuntu-defaults-builder(サンプルファイルの削除)

Screenshot_20130119

子ども用パソコンOKPCのカスタマイズ内容の説明の続きです。
子ども用Live USBの作り方のページはこちら

今回はサンプルファイルの削除です。

カスタマイズは、~/liveusb/ubuntu-defaults-ja-12.04/hooks/chrootというファイルでしたね。

# etc
rm -f /etc/skel/examples.desktop

新規ユーザーを作ったときに、必ず出来てしまう謎のサンプルファイルを削除します。

参考までですが、OKPCでは新規ユーザーの追加は推奨しません。デフォルトのユーザーubuntuはユーザーが一人も登録されていない場合に勝手に作られますが、新規ユーザーを追加すると消えてしまう仕様のようです。

そうなると、予め設定してある個人の環境が全て消えてしまうため、ちょっと面倒な事になります。

子どもには、一人一本のUSB Keyを持たせるのが無難かと思います。

2013年2月26日 (火)

ubuntu-defaults-builder(アダルトコンテンツフィルタの導入)

Screenshot_20130119

子ども用パソコンOKPCのカスタマイズ内容の説明の続きです。
子ども用Live USBの作り方のページはこちら

今回はアダルトコンテンツフィルタ機能の追加です。

カスタマイズは、~/liveusb/ubuntu-defaults-ja-12.04/hooks/chrootというファイルでしたね。

# change DNS ( OpenDNS FamilyShield free )
echo "nameserver 208.67.222.123" > /etc/.resolv.conf
echo "nameserver 208.67.220.123" >> /etc/.resolv.conf
echo "0-59/3 * * * * diff /etc/.resolv.conf /var/run/dnsmasq/resolv.conf || /bin/cp -f /etc/.resolv.conf /var/run/dnsmasq/resolv.conf" > /var/spool/cron/crontabs/root
chmod 600 /var/spool/cron/crontabs/root

アダルトコンテンツフィルタは、OpenDNSが提供するサービス、FamilyShieldを用います。

以前の記事で、簡単に紹介していますので、興味のある方はご覧ください。

子どもをアダルトコンテンツから守る

FamilyShieldはDNSサーバーなので、ネットワークマネージャ辺りの設定を変更するのも手なのですが、GUIで変更出来る設定なんて、すぐに突破出来そうなので、少しだけ捻りました。

dnsmasqを設定した影響で、実際にリゾルバが使用するDNSサーバーは/var/run/dnsmasq/resolv.confに書かれているようなので、それを直接書き換えて変更する事にしました。

何かの拍子に制限なしのDNSサーバーの設定になってしまう可能性を考慮して、3分に1回監視し、FamilyShieldのDNSサーバーでなくなっていたら、設定ファイルを上書きする処理を、cronという方法を用いて行っています。