まだプログラマーですが何か?

プログラマーネタ中心。たまに作成したウェブサービス関連の話も https://twitter.com/dotnsf

タグ:ubuntu

Ubuntu (や CentOS/RedHat Enterprise Linux)をデスクトップとして使っている人はあまり多くないかもしれませんが、自分はその1人です。知る人ぞ知る GPD Pocket も Ubuntu モデルを購入しました。

個人的には最近の Linux デスクトップは非常に便利だと思ってますが、ただ使っていて「あれ??」と思うことが無いわけでもありません。例えば今回紹介するのは MPEG4 動画の再生なんですが、そのコーデックは標準で充分にインストールされているわけではないので、そのままでは再生できないことがあります。その Ubuntu 環境での導入方法を調べたのでメモ目的も兼ねてブログにします。


まず、MPEG4 AAC コーデックなどの拡張メディア機能を Ubuntu に導入するには ubuntu-restricted-extras というパッケージをあらかじめ導入しておく必要があります。以下のコマンドで導入します:
$ sudo apt-get install ubuntu-restricted-extras

その後、必要なメディアパッケージを導入します。今回の MPEG4 であれば以下のコマンドでインストールします:
$ sudo apt-get install libav-tools ffmpeg


これで MPEG4 AAC や H.264 デコーダーが導入されて、Ubuntu デスクトップからも再生可能になります。





Google ドライブのファイルシステム(?)を fuse を使って Linux にマウントする、というためのツールを使ってみました。今回は Google Drive ocamlfuse というツールを使って、Ubuntu 14.04 環境にマウントしてみました:
https://github.com/astrada/google-drive-ocamlfuse


なお、今回紹介する手順では途中でウェブブラウザを使った OAuth 認証を行うため、GUI 環境が必要です(コマンドライン環境だけでは最後までマウントできません)。GUI アクセスできる Ubuntu とウェブブラウザをご用意ください。

まずはターミナルを開き、Google Drive ocamlfuse を apt-get でインストールできるようにするため、リポジトリを追加します:
$ sudo add-apt-repository ppa:alessandro-strada/ppa
$ sudo apt-get update

そして apt-get install を実行します:
$ sudo apt-get install google-drive-ocamlfuse

準備の最後に Google Drive をマウントする先のマウントポイントとなるディレクトリ(以下の例では ~/googledrive)を用意しておきます:
$ mkdir ~/googledrive

では Goodle Drive ocamlfuse を使って実際にマウントしてみます。初回のみコマンドラインから引数なしで実行します:
$ google-drive-ocamlfuse

するとウェブブラウザが起動し、Google の OAuth 認証が行われます。Google ドライブを使うためのユーザーおよびパスワードでログインします:
2017032201


オフラインアクセスのための許可が求められるので「許可」をクリック:
2017032202


以下のようなメッセージが表示されれば OAuth 認証完了です:
2017032203


再びターミナル画面に戻り、今度はマウントポイントを指定して google-drive-ocamlfuse を実行します。これで OAuth 認証時に使ったユーザーの Google ドライブが指定ディレクトリにマウントされます:
$ google-drive-ocamlfuse ~/googledrive


この状態で df -h コマンドを実行すると、指定したディレクトリに Google Drive がマウントされていることが確認できます:
2017032204


ls コマンドなどでこのディレクトリ内を確認すると、Google Drive 内のドキュメントが odt 等のフォーマットで存在していることを確認できます:
2017032205


アンマウントする場合は fusermount コマンドを -u オプションを付けて(アンマウントポイントを指定して)実行します:
$ fusermount -u ~/googledrive


Google ドライブがマウントできると Boostnote のドキュメント共有が異なるシステム間でも可能になったりできて、ますます便利です。



(参考)
http://o2t.hatenablog.com/entry/2014/09/08/143621
 

Ubuntu で LXC を使ってみました。

LXC は "LinuX Containers" の略で、Linux の仮想化技術の1つです。1つのセンターホストの上で複数の Linux システム(コンテナ)を走らせる、というものです。コンテナなので、いわゆる VM(Virtual Machines) とは異なり、個別のプロセスとネットワーク空間を作り出す仮想環境です。なお Ubuntu 14.04 の 64bit 版を前提として以下を記載します(いつもの CentOS6 環境だとなぜか上手くいきませんでした):

導入は簡単。apt-get コマンド一発で LXC を導入します:
$ sudo apt-get install lxc

導入できたら中身を一度確認してみます。まず用意されているテンプレートの一覧が /usr/share/lxc/templates/ にあるのでその一覧を確認します(青字が出力結果、これだけのテンプレートが用意されています):
$ ls /usr/share/lxc/templates/
lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle  lxc-ubuntu-cloud
lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo
lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-sshd
lxc-busybox    lxc-download  lxc-opensuse      lxc-ubuntu

では今回は Plamo テンプレート(lxc-plamo)を使って、p01 という名称で Plamo Linux コンテナを作成してみます:
$ sudo lxc-create -t plamo -n p01
  :
  :
  :
morse-2.1-x86_64-P1 のインストール中
PACKAGE DESCRIPTION:

qrq-0.1.4-x86_64-P1 のインストール中
PACKAGE DESCRIPTION:

Copy /var/cache/lxc/rootfs-plamo-5.x-x86_64 to /var/lib/lxc/p01/rootfs...
Copying /var/cache/lxc/rootfs-plamo-5.x-x86_64 to /var/lib/lxc/p01/rootfs...
patching file /var/lib/lxc/p01/rootfs/etc/inittab
Setting root password to 'root'...
Please change root password!

コマンドが完了するまでしばらくかかりますが、無事に完了したようです(root ユーザーのパスワードが root で、すぐに変更しろ、というメッセージが表示されています)。 作成されたコンテナのルートディレクトリは /var/lib/lxc/p01/rootfs/ 以下に作成されています(p01 はコンテナ名):
$ ls /var/lib/lxc/p01/rootfs/
bin   cdrom  etc           home  lib64  mnt   root  sbin  tmp  var
boot  dev    etc-incoming  lib   media  proc  run   sys   usr

ではこの Plamo Linux のコンテナを実際に起動してみましょう。名前を指定して、デーモンモードで起動して、コンソールに接続します:
$ sudo lxc-start -n p01 -d
$ sudo lxc-console -n p01

Connected to tty 1
Type  to exit the console,  to enter Ctrl+a itself


Welcome to Linux 3.13.0-85-generic.

p01 login:
 

接続できました!ここで root ユーザーで(パスワード root で)ログインし、とりあえずはパスワードを変更しておきます:
p01 login: root (ユーザー名は root)
Password: (パスワードは root)
root@p01:~# passwd
Enter new UNIX password: (新パスワードを入力)
Retype new UNIX password: (同じ新パスワードを入力)
passwd: password updated successfully

で、ここからはコンテナ上に展開された Plamo Linux を1サーバーのように使うことができるようになります:
root@p01:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/dm-1       913G   16G  851G   2% /
none            100K     0  100K   0% /dev
/media          5.8G     0  5.8G   0% /media
/tmp            5.8G     0  5.8G   0% /tmp

元の(Ubuntu の)コンソールに戻るには Ctrl+A を押し、続けて Q を押します:
root@p01:~# exit (Plamo Linux から普通にログアウト)
logout


Welcome to Linux 3.13.0-85-generic.

p01 login: (ここで Ctrl+A,Q)
$ (Ubuntu のコマンドプロンプトへ戻った)





Ubuntu スマホである Aquaris が、スペインの bq のオンラインストアで購入できるようになりました。自分は大きなスマホがあまり好きではないので、スペックが低いことを理解した上で E4.5 を購入しました:
2015082300


ちなみにこの端末はデュアルの SIM フリー機で、マイクロ SIM 対応です。一週間ほど使ってみたので、特に OS の機能についてまとめてみました。

まず、以下の紹介の中で多くのスクリーンショットを使っていますが、スクリーンショットの撮影方法は「ボリュームコントロールの上下ボタン同時押し」でした。Aquaris はつい最近までスペインでしか売られていなかったこともありますが、英語でもなかなか情報を見つけることが難しいスマホでした。このスクリーンショットの取得方法を調べるだけでも結構たいへんでした。。

まず気になる日本語対応ですが、表示に関しては問題ありません。言語設定画面がこちらです:
screenshot20150823_213231724


「言語を表示」をタップすると表示言語を指定できます。ここで「日本語」が標準で用意されているので、これを選択するだけで日本語表示になります:
screenshot20150823_213238618


一方、日本語の入力ですが、標準のキーボードには「日本語」や「Japanese」が用意されていません。なので日本語入力は現時点ではできないと思っています:
screenshot20150823_213306796


操作方法の基礎となるのがメニューです。メニューが画面左端を右に向かってスワイプすると、隠れていたメニューが「スッ」という感じで現れます。ここから「システム設定」「ブラウザ」「電話」などの基本的なアプリケーションを起動できます:
screenshot20150823_213009463


メニュー内一番下の Ubuntu マークをクリックするとホームアプリともいえる画面が出てきます。7つの画面を切り替えて表示するアプリです。最初は "Today" という今日の情報が表示される画面:
screenshot20150823_213355313


2つ目は "NearBy" 。現在地の近くの情報が表示されます:
screenshot20150823_213400646


3つ目は「アプリ」、導入済みアプリの一覧画面です:
screenshot20150823_213405319


なお、この画面を下までスクロールすると、"Ubuntu ストア" という、アプリを検索して導入(購入)するためのマーケットアプリを起動することができます:
screenshot20150823_213411088


4つ目は "News" 、ここにニュースのヘッドラインが表示されます:
screenshot20150823_213414902


5つ目が「ミュージック」の画面。購入したり、インストールした音楽にはここからアクセスできるようです:
screenshot20150823_213421198


6つ目は「ビデオ」。撮影したビデオ動画や購入した動画にアクセスする画面です:
screenshot20150823_213425596


最後の7つ目が "Photos" 、写真やアルバムアプリにアクセスする画面です:
screenshot20150823_213428105


個人的にはもともとスマホというよりも、ネットワークの管理端末目的で購入しました。そのためにはターミナルアプリを使いたかったのですが、標準ではターミナルアプリは含まれていない模様でした。上述の Ubuntu ストアから探して導入すれば使えます:
screenshot20150823_214400257


画面右下のキーボードマークをクリックすると、ソフトウェアキーボードが表示されて、ここから ssh を使ってリモートログインして・・・といったことが可能になります:
screenshot20150823_214505647


またブラウザは一般的なモバイルブラウザのようでした。jQuery Mobile で作ったサイトも問題なく表示できました:
screenshot20150823_213509670


アプリケーションの切り替えは画面の右端を左側に向かってスワイプするとタスクマネージャー的なアプリが出てきます。ここからアプリを切り替えたり、特定のアプリを強制終了できたりします:
screenshot20150823_213527184


現状だと、やはり日本語入力ができないのが痛いかなあ・・・。事実上、メールや SNS が「確認専用」になっちゃうよなあ。。

このページのトップヘ