人気ブログランキング | 話題のタグを見る

[Ubuntu] Unity Launcher のアイコンを復活させる

三行で説明


ランチャの CD のアイコンを間違えて削除しちゃったので、
ツールなしでコマンドだけで
復活させました。

はじめに


OS : Ubuntu 14.04 LTS デスクトップ版

共用の Ubuntu14 を使っていて、
CD アイコンの右クリックメニューで
間違えて「Launcherへの登録を解除」を選択してしまいました。
「取り出し」のすぐ上にあったので、つい手が滑って。
がーん。

CD を入れると、
自動マウントされて、ランチャにアイコンが出ます。
このアイコンの右クリックメニューで CD を取り出します。
解除してしまうと、ランチャにアイコンが出ません。
アイコンが出なければ、
右クリックメニューでの CD 取出しができません。
自分のマシンなら eject コマンドで出すのですが、
Linux に大層不慣れな2年生君が勉強も兼ねて構築しているマシンなので、
元に戻してあげたいわけです。
ついでに、余計なアプリも入れたくない。

自分の普段使い Ubuntu はコマンドラインのみのサーバ版なので、
デスクトップ版の GUI の勝手がわかりません。
Linux はウィンドウマネージャとランチャとファイラが
全部違うアプリ名だったりするので、
昔からわかりづらくて苦手で、
再インストールが必要なほどめちゃめちゃにしたこともあり、
なんとなく避けて通ってきました。
でもなぁ LASER5 Linux とかの頃だしなぁ(懐)
今はもうキレイに洗練されてるんだろうなぁ。

この画面の横のランチャは GNOME 上のユーザインタフェース Unity の中の
Launcher という名前の機能だそうです。

通常のアプリをランチャに登録


通常のアプリを登録する場合は、
起動するとランチャにアイコンが表示されるので、
右クリックメニューから「ランチャーに常に表示」を選択すれば
登録されます。
UbuntuでRails3.2.3 (2) 端末アプリを使いやすくする
http://www.supportdoc.net/topic/linux/ubuntu-ror2.html


自分で作ったコマンドなどの場合は、
以下のページが参考になります。
Unityランチャーに自分でインストール/ビルドしたアプリケーションを登録する - reppets.log.1
http://d.hatena.ne.jp/reppets/20111109/1320846292


Unity のランチャに登録する方法 (追記: Lubuntu でも) - 見上げれば、空
http://tohka383.hatenablog.jp/entry/20120331/1333156658


でもいずれもアプリやソフトなどがある場合の方法です。
CD は入れたときだけアイコンが表示されるので、
固定のアプリがあるわけではないです。
そもそも、アイコンが表示されなくなった場合は
この方法ではダメですね。

一般的な直し方:dconf-editor を使う


Launcher の設定は dconf に保存されています。
dconf は windows でいうとレジストリみたいなものだそうで、
GNOME 関係のアプリは dconf に設定を保存します。
設定はバイナリで保存されており、
編集には専用エディタ dconf-editor のインストールが必要です。

dconf については、以下のページが、絵が多くてわかりやすいです。
Ubuntu dconfエディター その1 - dconfについて・インストールと使い方 - kledgeb
http://kledgeb.blogspot.jp/2012/12/ubuntu-dconf-1-dconf.html


Launcharの登録を解除したアイコンを復活する関係は、
日本語のページには見当たらなくて、
以下のページがどんぴしゃです。
unity - How can I remove launcher drive icons? - Ask Ubuntu
http://askubuntu.com/questions/195988/how-can-i-remove-launcher-drive-icons


コマンドだけで直す:gsettings を使う


Unity は GNOME 関連のアプリということで、
gsettings コマンドでも設定ができます。
dconf-editor と同じ設定ができます。

以下のコマンドで、設定の一覧(設定項目、設定値)が出力されます。
$ gsettings list-recursively

で、Unity 関連だけ見てみます。
さらに Unity の表示/非表示に関連した項目だけを見てみます。
$ gsettings list-recursively | grep Unity | grep list
com.canonical.Unity.Devices blacklist ['-UDF Volume']

これだー!この blacklist だー!
この blacklist の設定値を変更して、リストを空にします。
$ gsettings set com.canonical.Unity.Devices blacklist "[]"

結果を確認すると、空になっていますね(3行目)。
$ gsettings list-recursively | grep blacklist
com.canonical.unity-gtk-module blacklist @as []
com.canonical.indicator.sound blacklisted-media-players @as []
com.canonical.Unity.Devices blacklist @as []


CD を入れてみると、ちゃんとアイコンが出ました。
やったー!
再起動や再ログインなどは不要でした。

余談:gconf, dconf, gsettings, dconf-editor


Gconf, Dconf, Gsettings and the relationship between them - Ask Ubuntu
http://askubuntu.com/questions/249887/gconf-dconf-gsettings-and-the-relationship-between-them


いったいどれを使えばいいの?どういう関連なの?という質問を持った人。
そうだよね、そう思うよね。
GNOME3 を使っているなら、
gconf とか dconf とかは直では触らずに、
dconf-editor や gsettings を使うべきだよ、という話のようです。
この2つは、どちらを使ってもいいみたい。

redhat のページに説明があったわ。
9.1. 用語の説明: GSettings、gsettings、および dconf
# by xiaoxia | 2016-02-18 17:43 | コンピュータ関係

[Android]メモ:スーパーボイスレコーダーの音質

スーパーボイスレコーダー - Google Play の Android アプリ

録音の音質が7段階から選択できるのだが、
詳細がどこにも載ってない気がする。
みなさん困らないのん?
というわけで、実際に録音して見てみたよ。

┌─────┬──────┬─────────┐
│     │ビットレート│サンプリング周波数│
│     │ (kbps)  │  (kHz)     │
├─────┼──────┼─────────┤
│最高音質 │  64   │  44.1     │
├─────┼──────┼─────────┤
│より高音質│  48   │  44.1     │
├─────┼──────┼─────────┤
│高音質  │  32   │  44.1     │
├─────┼──────┼─────────┤
│中音質  │  24   │  22      │
├─────┼──────┼─────────┤
│低音質  │  16   │  16      │
├─────┼──────┼─────────┤
│より低音質│  16   │  11      │
├─────┼──────┼─────────┤
│最低音質 │   8   │   8      │
└─────┴──────┴─────────┘


ほほーこんな風になってたのか。


■そのたメモ
・録音ファイルの保存先 /mnt/sdcard/SuperVoiceRecorder/
・ファイル名 yyyy-mm-dd_hh'mm'ss.mp3


■感想
愛用はしているのだが、時々音とびする気がする。
最高音質~高音質まで、全部音とびするような。
Android で再生すると音とびするけど、PCだととばないとか、
PCでもMediaPlayerだととぶけど、mp3編集ツールだと平気とか、
再生するものによっても音とびしたりしなかったり。
Xperia SO-03D という古い端末を使ってるせいかもしらん。
リアルタイムに mp3 にソフトエンコしているのがつらいのかも。
数分程度の録音ならば、当然 PCM 録音アプリを使うほうがいいのだろうな。
# by xiaoxia | 2015-09-03 17:36 | ソフトウェア

[VMware]ホストとファイル共有ができないのを解決

注意:この状況は日々変化するようなので、
この記事の日付や、カーネルバージョン、
VMwareTools のビルドバージョンに注意してください。

host: Windows7 64bit
   VMwarePlayer6
guest: Ubuntu Server 14.04.2 64bit (GNU/Linux 3.16.0-30)

注)作ったVMをwin7 32bitの人にあげるため、
 あえて古いバージョンのVMwareを使っています

共有フォルダを行うためには、
VMwareTools をインストールする必要があり、
そのために gcc などが必要なので、
ゲスト OS インストール直後に以下を実施。
$ sudo apt-get install builed-essential

その後、VMwareTools をインストールする。
以下のページが一番細かくてよかった(ゲストOS違うけど大丈夫)。
CentOS6.2にVMware Toolsをインストールする | mawatari.jp
http://mawatari.jp/archives/centos-6-2-vmware-tools-install-log


普通であれば、これで終了、のはずなのだけど。

状況


そうだ、ゲストOS の Ubuntu Server のバージョンが 12 で古いから、
バージョンアップしてみよう!と思ったのがはじまり。
カーネルも全部バージョンアップしてみたら、
ゲスト OS が起動しなくなった。

その後、新規に VM を作ってみたが、
どれもゲストとの共有フォルダで失敗する。

・VMwarePlayer7 + Ubuntu Server14
・VMwarePlayer7 + Ubuntu Server12
・VMwarePlayer5 + Ubuntu Server12 ←数年前に成功した組み合わせなのに!
・VMwarePlayer6 + Ubuntu Server14

/mnt/hgfs 以下に何もない。

/etc/mtab, /etc/fstab に .host:/ に相当する記述がないので、
以下を実行するが、マウントされない。
$ sudo mount -t vmhgfs .host:/ /mnt/hgfs

/mnt/hgfs 以下も何も表示されない。
mtab や fstab に追記してみたが、変化なし。

VMwareTools がダメなら oss だぜ!と思ったけどやっぱりダメだった。
$ sudo apt-get install open-vm-tools


よく見ると、VMwareTools のインストール中に、エラーが出ていた。
エラーの詳細は以下のページとまったく同じ。
Linux 3.x の仮想マシンから VMware Fusion の共有フォルダが見えない - いままでのこと
HGFS fails to compile on kernel 3.16.2 ・ Issue #11 ・ rasa/vmware-tools-patches ・ GitHub
検索でお越しになる方のためにエラーメッセージの一部を書いておく。
vmhgfs-only/fsutil.h expected 'gid_t' but argument is of type 'kgid_t'
vmhgfs-only/file.c
incompatible type for argument 4 of 'HgfsSetUidGid'
HgfsAioRead
implicit declaration of function ' generic_file_aio_read'
HgfsAioWrite
implicit declaration of function ' generic_file_aio_write'

解決


VMwareTools のインストールに失敗していた。

VMwareTools のインストール中に、
エラーが出ていないことをちゃんと確認すること。
画面が流れてしまうし、
YES とか NO とか入力しなくてはいけないのでログをファイルに落とせないが、
エラー全部は見えなくても、
何か失敗していることはわかる。

VMwareTools を解凍して、vmhgfs-only のディレクトリで、
エラーが出なくなるまで、ソースの修正と make を繰り返す。
エラーが出なくなったら、それをインストールして解決。
make の仕方などは、以下のページを参照。
システムエンジニア☆あきき VMWareでhostとのファイル共有ができなくなって…対処
http://akiki2starlet.blog.fc2.com/blog-entry-7.html

make の前は必ず make clean を実施。

ソースの修正は、以下のページから、
自分のカーネルバージョンに合うものを探す。
パッチになっているが、大した量ではないので、
vi で手で直すのも可能。
vmware-tools-patches/patches/vmhgfs at master ・ rasa/vmware-tools-patches ・ GitHub
元のソースは必ずバックアップしておく。

確認


/mnt/hgfs 以下にマウントされるだけではダメで、
ファイルの送受信をしてみる。
それでエラーが出て何度かソース修正をやり直した。

以下のページに従って、VMwareTools の動作確認を行う。
VMwareToolsの動作確認・起動はどのようにすれば良いですか。 | ニフティクラウド
http://cloud.nifty.com/cs/catalog/cloud_faq/catalog_120416000931_1.htm


そのた情報


VMwareTools のバージョン確認方法
$ /usr/bin/vmware-toolbox-cmd -v


VMwareTools サービスの再起動方法
$ sudo service vmware-tools restart


VMwarePlayer のメニューからダウンロードした VMwareTools の
iso イメージは、ホストの以下のディレクトリにある。
以下は linux ゲスト向けのファイル。
C:\Program Files (x86)\VMware\VMware Player\linux.iso


VMwareTools は以下からダウンロードできる。
CDS Repository - /var/www/public/stage/session-43/cds/vmw-desktop/player
exe がダウンロードできるので、以下のページを見ながら解凍も可能。
解凍をくりかえすと、中から linux.iso が出てくる。
VMware Tools (9.2.2) をダウンロードする。 - 量産メモ
http://d.hatena.ne.jp/RMS-099/touch/20121109/1352452591

VMwarePlayer のメニューから VMwareTools のインストールに失敗した場合は、
この iso イメージを cdrom としてマウントしたら
インストールできるんじゃないだろうか。
これまではメニューからのインストールによく失敗していて、
面倒で放置していたのだが、今度失敗したらやってみよう。

VMwareTools は日々修正され、ビルドされているぽい。
前日ダウンロードしたものと、今日のビルドバージョンが違うということがあった。
また、ダンナも同じバージョンで新規インストールして試してくれたが、
ホストもゲストもまったく同じなのに、エラーは出ず、問題なく動いたらしい。
日によって挙動が違うのだろうか(謎
# by xiaoxia | 2015-07-30 18:45 | ソフトウェア

[win7][python]chainer の mnist を動かす

注:7/7 release v1.1.0 では以下の現象は出ませんでした。

chainer に付属の example である mnist が
私の win7 環境では動きませんでした。
ネットに情報が見当たらなかったのですが、
きっとみんな python マスターだから困ってないのでしょうね…。
そこで修正してむりくり動かしたので、
記事にしてみますよ。

chainer のバージョンは 1.0.1 です。
モリモリ開発が進んでいて
日々バージョンアップされそうな勢いなので、
ご注意ください。

mnist を使う例は以下から落とします。
chainer/examples/mnist at master ・ pfnet/chainer ・ GitHub
https://github.com/pfnet/chainer/tree/master/examples/mnist

ちなみに、chainer のインストール自体は、
このページ
Windowsにすごいインストールしにくい、ではありません。

とあったので、どんだけ大変なのかと思っていましたが、
個人的には、それほどではなかったです。
caffe に比べたら100万倍楽かも。
h2o を使うために、Anaconda を導入済みだったからだと思います。
Anaconda まじおすすめ。
NumPy とか SciPy とか pip とか pandas とか、大概入っています。
h2o については、また別途書くかも。書かないかも。

話を元に戻すと、
使用するデータファイルである mnist.pkl は、以下からダウンロードして、
解凍せずに、gz のままで同じディレクトリに置きます。
http://deeplearning.net/data/mnist/mnist.pkl.gz

最初、mnist.pkl を解凍して、
mnist を動かしてみたら、
python のエラーが出ました。
どこが悪いのか、train_mnist.py を1行ずつ試したところ、
31 行目で引っかかりました。
>>> mnist['data'] = mnist['data'].astype(np.float32)
Traceback (most recent call last):
File "<stdin>", line 1, in TypeError: tuple indices must be integers, not str

mnist に 'data' とかいうキーはないね、と言われてます。

mnist だけ見てみます。
>>> mnist
((array([[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.],
...,
[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.]], dtype=float32), array([5, 0, 4, ...
, 8, 4, 8], dtype=int64)), (array([[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.],
...,
[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.]], dtype=float32), array([3, 8, 6, ...
, 5, 6, 8], dtype=int64)), (array([[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.],
...,
[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.]], dtype=float32), array([7, 2, 1, ...
, 4, 5, 6], dtype=int64)))

'data' なんていう文字列は見当たらないような???

データ型を追うのは目的じゃないので、
train_mnist.py を変更することにしました。
以下を参考に。

bluewidz nota: mnist.pkl.gz の読み込み方
http://bluewidz.blogspot.jp/2013/02/mnistpklgz.html

mnist.pkl は解凍せずに使うことにしました。
train_mnist.py L28 .. L38 を変更。
import gzip
N = 40000 # 元の60000だとデータ数より多いらしいので減らした
ff = 'mnist.pkl.gz'
f = gzip.open(ff,'rb') #注:exblogの投稿の仕様上、閉じカッコを全角にしてあります
train_set, valid_set, test_set=six.moves.cPickle.load(f)
train_set_x, train_set_y=train_set
x_train, x_test = np.split(train_set_x, [N])
y_train, y_test = np.split(train_set_y, [N])
N_test = y_test.size


これでちゃんと動いたのでOKということにしました。
D:\Python27\archives\chainer-master\examples\mnist>python train_mnist.py
load MNIST dataset
('epoch', 1)
train mean loss=0.33063835158, accuracy=0.898124998361
test mean loss=0.162676717639, accuracy=0.947100001574
('epoch', 2)
train mean loss=0.153755561546, accuracy=0.95172500208
test mean loss=0.131504864115, accuracy=0.960300003886
('epoch', 3)
train mean loss=0.11874152357, accuracy=0.962600004375
test mean loss=0.113062846968, accuracy=0.965400006771
('epoch', 4)
train mean loss=0.0971574839624, accuracy=0.969350008518
test mean loss=0.103983323704, accuracy=0.967700006366
('epoch', 5)
train mean loss=0.0857273762824, accuracy=0.973425008357
test mean loss=0.101200945508, accuracy=0.972000008821
('epoch', 6)
train mean loss=0.0790844700066, accuracy=0.974600008726
test mean loss=0.104126119157, accuracy=0.972800009847
('epoch', 7)
train mean loss=0.0749579791015, accuracy=0.97680000931
test mean loss=0.0958447372471, accuracy=0.973500008583
('epoch', 8)
train mean loss=0.0661980926926, accuracy=0.978375010192
test mean loss=0.0982851918356, accuracy=0.973100009561
('epoch', 9)
train mean loss=0.0584314434149, accuracy=0.9810750103
test mean loss=0.113216444734, accuracy=0.969900010228
('epoch', 10)
train mean loss=0.0602908361913, accuracy=0.980450012088
test mean loss=0.0879984638083, accuracy=0.976200011373
('epoch', 11)
train mean loss=0.0514875223837, accuracy=0.983800010234
test mean loss=0.0894974586042, accuracy=0.975600011349
('epoch', 12)
train mean loss=0.0548883137996, accuracy=0.983050012439
test mean loss=0.102420077655, accuracy=0.974400009513
('epoch', 13)
train mean loss=0.0512076163373, accuracy=0.984175011665
test mean loss=0.100468366765, accuracy=0.974800007343
('epoch', 14)
train mean loss=0.0500191870244, accuracy=0.984925010055
test mean loss=0.0993473297404, accuracy=0.975400010943
('epoch', 15)
train mean loss=0.0470136474677, accuracy=0.984850009531
test mean loss=0.105845116437, accuracy=0.975900011063
('epoch', 16)
train mean loss=0.0477901911164, accuracy=0.984475011379
test mean loss=0.106810954099, accuracy=0.976200010777
('epoch', 17)
train mean loss=0.0459414152225, accuracy=0.985275010765
test mean loss=0.0922556833585, accuracy=0.978700011969
('epoch', 18)
train mean loss=0.0427814637575, accuracy=0.987350009829
test mean loss=0.106742422327, accuracy=0.9767000103
('epoch', 19)
train mean loss=0.0439296430166, accuracy=0.985900009423
test mean loss=0.100506027883, accuracy=0.978100011945
('epoch', 20)
train mean loss=0.0382296479004, accuracy=0.98825000897
test mean loss=0.109894825316, accuracy=0.978100010157

D:\Python27\archives\chainer-master\examples\mnist>


いいですねー。
学習で 98.8% で、
test データでも 97.8% 出てます。

chainer については、これからもうちょっと色々試してみます。
# by xiaoxia | 2015-07-01 17:47 | ソフトウェア

[python][win7]pip と proxy

windows7 に chainer 入れちゃうぜ!とテンション上がったが、
入れようとしたら入らないよ。
proxy のエラーだよ。

D:\Python27\archives\chainer-master>pip install chainer
Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connecti
on broken by 'ProxyError('Cannot connect to proxy.', gaierror(11004, 'getaddrinf
o failed'))': /simple/chainer/
Retrying (Retry(total=3, connect=None, read=None, redirect=None)) after connecti
on broken by 'ProxyError('Cannot connect to proxy.', gaierror(11004, 'getaddrinf
o failed'))': /simple/chainer/
Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connecti
on broken by 'ProxyError('Cannot connect to proxy.', gaierror(11004, 'getaddrinf
o failed'))': /simple/chainer/
Operation cancelled by user


環境変数 HTTPS_PROXY も HTTP_PROXY も指定してあるのだが。
でも結果的に間違いだった。
今まで大丈夫だったのは、ソフト側で対応しててくれたんだなぁ。

失敗
set HTTP_PROXY=http://username:passwd@proxy.example.com:port/
set HTTPS_PROXY=https://username:passwd@proxy.example.com:port/

成功
set HTTP_PROXY=http://username:passwd@proxy.example.com:port
set HTTPS_PROXY=https://username:passwd@proxy.example.com:port


このくらい気を利かせてくれと言いたい気もする。

これで挫けてしまったので、
Ubuntu に chainer 入れようと試みたり、
(会社の LAN のせいで、VM を NAT で接続できず、apt-get できなくて挫折)、
いや caffe にするかとか、
( GPU が AMD だから CUDA が使えないのでは。
  つかそもそも caffe が win に対応してねーわ。
  VM の Ubuntu は前述の理由で apt-get できないし…)
いろいろ紆余曲折して2日も無駄にしてしまった…(;´Д⊂
# by xiaoxia | 2015-06-30 17:39 | ソフトウェア