Link

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

  • 美女Linux

Tweets

無料ブログはココログ

« Ubuntu Magazine Japan vol.08記事を公開 | トップページ | ubuntu-defaults-builder(リポジトリの追加) »

2013年1月31日 (木)

子ども用Live USBを作ってみよう

主にLinux PCをお使いの方は、新しい記事『子ども用パソコン - Kidsntu - のLive USBの作り方(改訂第2版)』をご覧ください。
こちらは、比較すると手順は簡易ですが、主にWindows PCをお使いの方向けになります。

Screenshot_20130119

さぁ、こちらの投稿で紹介したOKPC(子ども用にカスタマイズしたUbuntu 12.04 LTSのLive USB)を作ってみましょう。
良く良く考えたら、作るより準備に手間が掛かるので、覚悟をしてください。
あまり細かい説明をしてしまうとテーマがぼやけてしまうため、解説はどうしても基本的なLinuxのスキルがある事が前提になってしまっています。予めご承知おきください。
およその流れは次の通りです。

  1. Ubuntu 12.04 LTSをインストールする
    ググれば幾らでも情報が出てくるので詳細は省略。
    自分はVirtualBoxという仮想環境で構築しています。
  2. ubuntu-defaults-builderをインストール
  3. テンプレートをダウンロードし、カスタマイズを施す。
  4. ビルドして、Ubuntu標準ツールの「スタートアップ・ディスクの作成を用いてLive USBを作成
  5. Live USBを起動して残りのカスタマイズを施す。

ubuntu-defaults-builderは、UbuntuのRemix版CDを作製するためのツール群です。
まずは、以下の3つのリンク先の記事を熟読ください。

作り方がわかったところで、Ubuntu 12.04 LTS日本語Remixのテンプレートをダウンロード/展開します。

$ cd; mkdir liveusb; cd liveusb
$ wget http://archive.ubuntulinux.jp/ubuntu/pool/main/u/ubuntu-defaults-ja/ubuntu-defaults-ja_12.04-0ubuntu1~ja5.tar.gz
$ zcat ubuntu-defaults-ja_12.04-0ubuntu1~ja5.tar.gz | tar xf -

展開されたディレクトリに入り、(コマンドが覚えられないので)スクリプトを1つ作っておきます。Try&Errorを繰り返す時に便利です。

$ cd ubuntu-defaults-ja-12.04
$ echo "dpkg-buildpackage -us -uc" > buildpackage.sh
$ chmod +x buildpackage.sh

このフォルダ内のhooks/chrootに下の記述を追加します。

### BEGIN - user added ###

## add repository
# partner
echo "deb http://archive.canonical.com/ubuntu precise partner" > /etc/apt/sources.list.d/partner.list
# extras
echo "deb http://extras.ubuntu.com/ubuntu precise main" >> /etc/apt/sources.list.d/extras.list
# ubuntu-tweak
add-apt-repository -y ppa:tualatrix/ppa

apt-get update
apt-get upgrade --yes

## user files
#mkdir -p /var/settings
#wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb -O /var/settings/google-chrome-stable_current_i386.deb
#wget http://localhost/precure02_1280.jpg -O /var/settings/precure02_1280.jpg
#wget http://localhost/precure08_1280.jpg -O /var/settings/precure08_1280.jpg

## DVD & misc codec
#wget -q http://www.medibuntu.org/sources.list.d/`lsb_release -cs`.list --output-document=/etc/apt/sources.list.d/medibuntu.list
#apt-get -q update
#apt-get --yes -q --allow-unauthenticated install medibuntu-keyring
#apt-get -q update
#apt-get -y install libdvdcss2
#apt-get -y install w32codecs
#apt-get -y install ubuntu-restricted-extras

## Adobe Flash Plugin
apt-get -y install adobe-flashplugin

## ntp
apt-get -y install ntp

## disable ip v6
echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf

## dns cache server
apt-get -y install dnsmasq
cat /etc/NetworkManager/NetworkManager.conf | sed 's/dns=dnsmasq/#dns=dnsmasq/' > /tmp/nm.$$
mv -f /tmp/nm.$$ /etc/NetworkManager/NetworkManager.conf

## 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

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

## 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 ---

#apt-get -y autoremove gnome-disk-utility# causes error when access disk drive.
rm -f /usr/share/applications/palimpsest.desktop
apt-get -y autoremove gparted
apt-get -y autoremove usb-creator-gtk
#apt-get -y autoremove firefox firefox-locale-ja firefox-globalmenu firefox-gnome-support firefox-locale-ja
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
#apt-get -y autoremove libaccount-plugin-1.0-0	#12.10
#apt-get -y autoremove account-plugin-facebook	#12.10
#apt-get -y autoremove account-plugin-flickr	#12.10
#apt-get -y autoremove account-plugin-google	#12.10
#apt-get -y autoremove account-plugin-identica	#12.10
#apt-get -y autoremove account-plugin-twitter	#12.10
#apt-get -y autoremove account-plugin-windows-live	#12.10
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
apt-get -y autoremove transmission-gtk
apt-get -y autoremove gnomine aisleriot mahjongg gnome-sudoku gnome-games-data
#apt-get -y autoremove gnomine aisleriot gnome-mahjongg gnome-sudoku gnome-games-data	#12.10
apt-get -y autoremove bluez bluez-alsa bluez-gstreamer gnome-bluetooth
apt-get -y autoremove ntfs-3g
apt-get -y autoremove ibus-pinyin
apt-get -y autoremove brasero
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
apt-get -y autoremove gnome-orca
apt-get -y autoremove unity-lens-gwibber
#apt-get -y autoremove unity-lens-shopping	#12.10
apt-get -y autoremove unity-scope-musicstores
apt-get -y autoremove unity-lens-music
#apt-get -y autoremove unity-lens-photos	#12.10
apt-get -y autoremove unity-lens-video
#apt-get -y autoremove unity-scope-musicstores	#12.10
apt-get -y autoremove unity-scope-video-remote
apt-get -y autoremove btrfs-tools

## 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

## hwclock & timezone
cat /etc/default/rcS | sed 's/UTC=yes/UTC=no/' > /tmp/rc.$$
mv -f /tmp/rc.$$ /etc/default/rcS
echo "Asia/Tokyo" > /etc/timezone
dpkg-reconfigure -u tzdata

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

## 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 )

apt-get clean
### END - user added ###

そしてパッケージを作成。

./buildpackage.sh

ひとつ上のディレクトリに幾つかファイルが出来ている筈です。

続いて、Live USBのビルドを行うをスクリプトを作り、ビルドを起動します。

$ cd ~/liveusb ; mkdir build ; cd build; ln -s ../ubuntu-defaults-ja_12.04-0ubuntu1~ja5_all.deb
$ echo "sudo ubuntu-defaults-image --package ubuntu-defaults-ja_12.04-0ubuntu1~ja5_all.deb --components main,restricted,universe,multiverse" > build.sh
$ chmod +x build.sh
$ ./build.sh

こうして出来上がったbinary-hybrid.isoを「スタートアップ・ディスクの作成」の入力ファイルにして、Live USBを作ります。
データ保存領域は、目一杯確保してください。
ここで確保できる容量は、最大で4Gです。Live USBの容量が約1Gなので、2GのUSB Keyだと約1G、4GのUSB Keyだと約3G、8GのUSB Keyだと4Gの容量が確保できます。手持ちがあるのであれば仕方がありませんが、このためにUSB Keyを購入する場合、最低でも4G、最近は4Gと8Gの価格差はあまりありませんので、出来れば8GのUSB Keyの購入をお薦めします。また新規購入の場合にはUSBメモリーはUSB3.0対応のものを選んでください。PCの体感速度が違います。自分のパソコンはUSB2.0までしか対応していなくても構いません。とにかく書き込み速度の早いUSB Keyで、セキュリティ等の付加価値機能が付いていない物がお薦めです。

私なら、この中で一番価格の安いものを選ぶと思います。

もう試せます!前の記事で書いたOKPCの特徴のほとんどが盛り込まれたカスタマイズ版Ubuntuが起動する筈です。

USBポートにLive USBを挿して、USBからパソコンを起動してみてください。
有線LAN接続であれば、既に接続が完了している筈です。
無線LANの場合には、画面右上の扇形のアイコンをクリックすると、選択肢が出てきます。自分の無線LANルータのSSIDが表示されていれば、それをクリック。表示されていなければ、「その他のネットワーク」を選択すると表示されると思います。それを選択し、パスワードか暗号化キーを入力すると、無線LANに接続できます。

後は簡単なカスタマイズを施すのみです。

  1. まずはランチャーにタイマーでシャットダウンするアイコンを追加します。
    Dashで"shutdown"を検索すると、「シャットダウン」というファイルが見つかる筈です。
    そのアイコンをランチャーにDrag&Dropしてアイコン追加は完了です。
  2. 壁紙の変更。これもググればやり方は簡単にわかるので省略。
    事前にLive USBにコピーしておく方法を後ほど紹介します。
  3. 次にMyUnityを起動して、『萌ぇぶんちゅ』テーマ、アイコンに変更します。
    萌ぇテーマは多彩で、壁紙さえ大人しめのを使えば子ども用PCのテーマにもぴったりです。
    変更の仕方は、『萌ぇぶんちゅ』さんのホームページに詳しく掛かれています。
    ここで一緒にランチャーの色も変更しました。
    ちなみに壁紙を変更するとランチャーの色が戻ってしまうようなので、この順番で実施してください。
    このテーマ、アイコンも事前にLive USBに入れてあります。解説は後ほど。
  4. アップデートマネージャーの設定をします。
    アップデートマネージャーを起動して、下にある「設定」ボタンを押します。
    Live USBはファイルを保存出来る容量が限られているため、あまり頻繁なアップデートがあると、それだけで容量が溢れてしまいます。
    「アップデート」タブを開き、「重要なセキュリティアップデート」のみにチェックをし、他のチェックは外してしまいます。大した実害はないはずです。

    Live USBは下手にアップデートをするとシステムを壊してしまうようなので、すべてのアップデートを無効にします。
    Screenshot_from_20130523_001412
  5. ランチャーから「Ubuntuソフトウェアセンター」「システム設定」を削除してしまいます。右クリックして「Launcherへの登録を解除」をするだけです。
    余計なソフトのインストールや、設定変更は避けたいですよね。
  6. Firefoxを立ち上げて、「Yahoo!きっず」「キッズ@nifty」「キッズgoo」をブックマーク、スタートページをYahoo!きっずに設定します。
  7. 仕上げにFirefoxの表示→ツールバー→カスタマイズを選んで、アドレスバーと検索窓を取ってしまいます。
    これで事実上Yahoo!キッズの検索窓からだけしか検索することが出来なくなり、怪しいサイトはほとんど表示されなくなります。

これで前の記事に書いた仕様のLive USB、OKPCの出来上がりです

うまく作れましたか?

次回はLive USBのカスタマイズ(主にhooks/chrootファイルへの変更点)に関して少し説明したいと思います。

 

ちょっと大切な注意事項
ご自分のパソコンにログインパスワードは設定してありますか?
子どもはパソコンが楽しいと思ったら、勝手に電源を入れます。きっと。
最初は「あなたのパソコンは、このUSBキーを挿してから電源を入れるんだよ!」なんて言っても何のことだかわからないでしょう。
あなたのパソコンがパスワードで保護してあればこそ、「このUSBキーを挿して電源を入れれば、パスワードなしで使えるんだ!」と言う事を学習し、大人のデータに危害を加える確率を低く出来るようになるのだと思います。

« Ubuntu Magazine Japan vol.08記事を公開 | トップページ | ubuntu-defaults-builder(リポジトリの追加) »

パソコン・インターネット」カテゴリの記事

子ども用パソコン know-how」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/31963/56587709

この記事へのトラックバック一覧です: 子ども用Live USBを作ってみよう:

« Ubuntu Magazine Japan vol.08記事を公開 | トップページ | ubuntu-defaults-builder(リポジトリの追加) »