VirtualBoxでUSB機器を認識しない

数日前に,VineSeed(Vine7)にしたのだが,その時にVirtualBoxでUSB機器を認識しなくなった.
その問題の解決に数日かかった.

VirtualBox-4.3.38
kernel-4.1.23

vboxusersグループに入れるとか,extentionパックを入れるとかしてみても,USBデバイスフィルターにUSB機器が出てこない….

いろいろやってみた挙句,次のサイトにある方法を試したら,USB機器を認識できた.
https://www.virtualbox.org/ticket/9273

編集するファイル:etc/udev/rules.d/VirtualBox.rules
編集内容
#KERNEL=="vboxdrv", MODE="0666"
# 2016.5.6
KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="vboxusers", MODE="0660"
SUBSYSTEM=="usb_device", ACTION=="add", RUN="/usr/share/VirtualBox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN="/usr/share/VirtualBox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
SUBSYSTEM=="usb_device", ACTION=="remove", RUN="/usr/share/VirtualBox/VBoxCreateUSBNode.sh --remove $major $minor"
SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN="/usr/share/VirtualBox/VBoxCreateUSBNode.sh --remove $major $minor"
SUBSYSTEM=="usb_device", GROUP="vboxusers", MODE="0664"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="vboxusers", MODE="0664"

編集したら,計算機を再起動.
udev再起動でいいのだろうが,やり方がわからなかった.

/dev/vboxusb/のディレクトリができていて,グループがvboxusersであることを確認する.


参考までに,
以前は,VirtualBox起動前に次のコマンドを実行していた.
# mount -t usbfs -o devgid=(グループvboxusersのID),devmode=664 none /proc/bus/usb
カーネルが新しくなったからなのか,
(1)/proc/bus/usb が無い,(2)usbfs でマウントできない といわれてしまっていた.

自前のFirefoxSyncServer-その2

自前のFirefoxSyncServerの記事を2012年10月8日に書いた.
その後新しいサーバーに置きかえていた(2015年3月)のだが,その記録を書いていなかったので今頃(2016年4月)ここに記す.

Firefox 29 から FirefoxSyncはFirefoxアカウントを使用するようになったので,新しいサーバーに置きかえた
** 参考サイト https://docs.services.mozilla.com/howtos/run-sync-1.5.html
このサイト(英語)をしっかり読めばいいみたいです.

■作業記録(2015.1.17) on Debian GNU/Linux

  • Python 2.7 インストール済み
  • vertualenv, python-virtualenv インストール済み
  • ビルドするのに必要なもの: python-devel, make, git
  • サーバーのファイルは,/usr/local/syncsever に置くものとする
  • gitを操作してインストールする

$ cd git
$ git clone https://github.com/mozilla-services/syncserver

できたsyncserver を /usr/local に移動

$ cd /usr/local/syncsever
$ make build
$ cd /usr/local
$ sudo chown -R www-data:www-data syncserver

□ 設定ファイル:syncserver.ini を編集する

  • (webサーバー):5000 にアクセスするような設定
  • データーファイルは,webサーバーの/usr/local/syncserver/db/syncserver.db

#public_url = http://localhost:5000/
public_url = http://(webサーバー):5000/

#sqluri = sqlite:////tmp/syncserver.db
sqluri = sqlite:////usr/local/syncserver/db/syncserver.db

□テスト1:手動でsyncサーバーを動かしてみる
$ cd /usr/local/syncserver
$ ./local/bin/pserve syncserver.ini

□テスト1(クライアント側)

  • firefoxのURI で, about:config と入力
  • services.sync.tokenServerURI を選択
    • 初期値:https://token.services.mozilla.com/1.0/sync/1.5 を変更
    • http://(webサーバー):5000/ に変更する
  • firefoxでfirefoxsyncを設定する.メールアドレスとパスワードを入力する.
  • /usr/local/syncserver/db/ 以下にデーターができていることを確認

■作業記録(2015.3.5,3.7) on Debian GNU/Linux
□ WSGIの設定
* 設定ファイル(apache側の設定)を書く
** 参考サイト https://docs.services.mozilla.com/howtos/run-sync-1.5.html にある設定ファイルを利用する./etc/apache2/sites-enabled/ffsync.conf等として設定.

* VirtualHost の項目の中(参考)

ServerName (クライアントからアクセスするsyncサーバーのURL)
DocumentRoot /usr/local/syncserver/

WSGIProcessGroup sync
WSGIDaemonProcess sync user=www-data group=www-data processes=2 threads=25 \
python-path=/usr/local/syncserver/local/lib/python2.7/site-packages/
WSGIPassAuthorization On
WSGIScriptAlias /ffsync /usr/local/syncserver/syncserver.wsgi

CustomLog /var/log/apache2/syncserver-access.log combined
ErrorLog /var/log/apache2/syncserver-error.log

  • python-pathの行を追加
  • python-path=/usr/local/syncserver/local/lib/python2.7/site-packages/

  • Directory は syncサーバーをインストールした場所
  • ServerName は クライアントからアクセスするsyncサーバーのURL
  • DocumentRoot は syncサーバーをインストールした場所
  • WSGIScriptAlias は syncserver.wsgi のある場所を記載

□ syncserver.ini を編集
$ head -c 20 /dev/urandom | sha1sum
で出てきた文字列をsyncserver.iniに書く
[syncserver]
...other settings...
secret = (こ こ に 文 字 列 を記 入)

□クライアント側の設定

  • Firefoxでservices.sync.tokenServerURI の値を変更する
  • 初期値:https://token.services.mozilla.com/1.0/sync/1.5 を変更する
  • http://(webサーバー)/ffsync/token/1.0/sync/1.5 に変更する

□クライアント側の設定(Android)

  • firefox44より前の方法
    • アドオンfxa-custom-server-addon をインストールして,
      Custom Firefox Account で,保存するサイトの上記のように設定する
  • firefox44以降
    • android用アドオン fxa-custom-server-addon が無くなった
    • about:config identity.sync.tokenserver.uri を編集する
    • 初期値:https://token.services.mozilla.com/1.0/sync/1.5 を変更
    • http://(webサーバー)/ffsync/token/1.0/sync/1.5 に変更する

バックアップ失敗

バックアップするコマンドがあって,windowsだったら,robocopy だったりする.
バックアップでフォルダのタイムスタンプを保存するオプションは無いかなぁと試していたら…,
ちょっと慌てて試していたら…,
自分のホームディレクトリのファイルを消してしまいました….

メールのデーターやら設定ファイルやら….
他の作業を3件以上抱えているのに….
しばらく,放心状態.
慌ててするもんじゃない!

途中で気付いて,全滅は免れたものの,
持っていたバックアップから復元して,10日前のデーターに逆もどり.
設定ファイルも復旧したけど,10日前のもの.その間の設定は消えました.
メールは7日前まで再受信できたけど,3日分ぐらいは,消えたまま.

ちなみに,タイムスタンプを保存するオプション は /DCOPY:T らしい.
Windowsの画面でマウスでコピーすると,
フォルダのタイムスタンプは,たいていコピーした時刻になる.

Mew6.7

自宅のパソコンの話.
mew(Emacs上で動くメーラー)のバージョンが6.7に上がっていたので,アックグレードした.
mewは,私がemacs上で使っているメーラー.10年以上使っている.

http://www.mew.org/ja/

VineSeedのSRPMを拾ってきて,必要ファイルを揃えて,SPECファイルを書き換えて,リビルド.

* mew-6.7
mew-6.5-1vl7.src.rpm を拾ってくる.
mew-6.7のtar玉を拾ってくる.

SPECファイルを編集してリビルド.
(バージョン部分を6.5から,6.7に書き換える)

※実際は,mew6.6をインストールした時のSPECファイルがあったので,それを利用した.

とりあえず使えているみたい.

10ボタンマウス

4年ぶりにマウスを買い換えた.今度のマウスは,Logicool M705.親指あたりに10個目のボタンがあるが,認識しない.Windowsだったら,ロジクールのサイトからソフトをインストールし,設定すれば良い.Linuxで動かすまでの記録を記してみる.

(1)キーコード?を調べてみる:xev
1 左クリック
2 ホイールクリック
3 右クリック
4 ホイール奥
5 ホイール手前
6 ホイール左
7 ホイール右
8 サイド手前
9 サイド奥
10 親指クリック
→認識はしているみたい.
(2)xmodmap を試してみる
10番を2番(ホイールクリック)に割り当てようとしてみるが,うまくいかない

$ xmodmap -e “pointer = 1 2 3 4 5 6 7 8 9 2”
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 116 (X_SetPointerMapping)
Value in failed request: 0x2
Serial number of failed request: 9
Current serial number in output stream: 9

(3)Xの設定ファイルは,普通書き換えないらしい
(4)xinput で設定してみる

$ xinput list
(マウスのidは9だった)
$ xinput list-props 9
$ xinput get-button-map 9
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
$ xinput set-button-map 9 1 2 3 4 5 6 7 8 9 2

参考サイト https://archlinuxjp.kusakata.com/wiki/マウスのアクセラレーション

(5)うまくいったので,設定スクリプトを書いて,gnomeの自動起動するアプリケーションに登録
設定スクリプト

#!/bin/sh

ids=`xinput list | grep ‘slave\s*pointer’ | grep -v “Virtual core XTEST pointer ” | sed ‘s/.*id=//’ | sed ‘s/\s.*//’`

for id in $ids
do
xinput set-button-map $ids 1 2 3 4 5 6 7 8 9 2
done

exit 0

参考サイト:http://d.hatena.ne.jp/nokturnalmortum/20120727/1343385462

Emacs-24.4

自宅のパソコンのエディタをemacs-24.4にアップグレードした.
元環境) GNU Emacs 24.2.1
現環境) GNU Emacs 24.4.1
OS) Vine Linux 6.2

1) VineSeed から emacs-24.4 のSRPMをダウンロード
2) SPECファイルを編集
2-1) パッケージ名はemacs24にした
2-2) ソースのディレクトリをemacs から emacs24 に変更
3) リビルドに必要な追加パッケージをインストール
libtiff-devel,libotf-devel,ImageMagick-devel,m17n-lib-devel
4) リビルド,インストール

エラーで起動しない
1) apel-10.8 をアップグレード
1-1) VineSeedからSRPMをダウンロードしてリビルド,インストール)
2) migemo を 再インストール
2-1) # apt-get install –reinstall migemo だったかな?

SKKが起動できない:
「face-equal: Invalid face: modeline」というエラーが出る
1) skkをアップグレードすればいいらしいが,最新のddskkは Vineseedにパッケージが無い.
2) 面倒なのでskk.elを編集して,バイトコンパイルする(M-x byte-compile-file).
2-1) /usr/share/emacs/site-lisp/skk/skk.el を編集
(skk-face-proportional-p ‘modeline)

(skk-face-proportional-p ‘mode-line)
に書き換える.
参考1 http://wp.hebon.net/emacs/?tag=emacs24
参考2 http://mail.ring.gr.jp/skk/201210/msg00000.html

YaTeXが起動できない
VineSeed のyatex-1.77(1/6に1.78が出てたけど)をリビルドしてインストール

Cygwin-cocot

Cygwin の ping で文字化けするので,cocotを導入する話.

cocotをダウンロードして展開
http://vmi.jp/software/cygwin/cocot.html

ダウンロードしたディレクトリに移動して,
tar xvf cocot-20100903-bin.tar.bz2
を実行.cocot.exe が出てくる.

cocot.exe は /usr/loca/bin
に置く

.bashrc に
alias ping=”cocot ping”

とでも書いておく.

BeamerPoster

2月3月にやったことのメモ.(なぜか6月前に書いている).

ポスター発表の資料を,TeXで作った.
以前は,a0posterで作ったが,今回はBeamerPosterで作った.

(Vine Linux 6.2)texlive-2009の中にbeamerposter.styあり.
(Windows TeXインストーラ3)必要パッケージを追加で入れると動くみたい

TeXソースはWebサイトをいろいろ見て,何とか作った.
ひっかかったところは,メモを残っていたので,以下に示す.

* beamerposterでthebibliography関係のエラーがでる

! LaTeX Error: File `beamericonarticle.xbb’ not found.
Use -shell-escape option to generate automatically.

(1) beamericonarticle.pdf を探す

$ locate beamericonarticle.pdf

(2) 見つかったファイルをTeXソースがあるディレクトリにコピー
(3) ebb を実行,なければ ebbx

$ ebbx beamericonarticle.pdf

(4) beamericonarticle.bb ができてるので beamericonarticle.xbb にリネーム

$ mv beamericonarticle.bb beamericonarticle.xbb

■ 文献番号が出ない
\beamertemplatetextbibitems
を\begin{thebibliographgy}の次の行に書く

おまけ:
* beamerposterでTeXが通らない
** a0poster から beamerposter に移行したらTeXが通らない
→文字コードの問題だった.
→5年くらい前のソースでEUCで記述していた,今のソースはUTF-8

mew6.6+stunnel5.01

自宅のパソコンの話.
mewのバージョンが6.6に上がっていたので,アックグレードした.
ついでに,stuunelのバージョンも5.01に上げた.

mewは,私がemacs上で使っているメーラー.10年以上使っている.

http://www.mew.org/ja/
https://www.stunnel.org/

VineSeedのSRPMを拾ってきて,必要ファイルを揃えて,SPECファイルを書き換えて,リビルド.

* mew-6.6
mew-6.5-1vl7.src.rpm を拾ってきて,SPECファイルを編集.
mew-6.6のtar玉を拾ってきて,リビルド.

* stunnel-5.01
stunnel-4.54-1vl7.src.rpm を拾ってきて.SPECファイルを編集.
stunnel-5.01 のtar玉と必要ファイルを拾ってきて,リビルド.

とりあえず使えているみたい.

アップグレード不可

2006年に買ったノートパソコンには,Windows XPがインストールされている.
XP のサポートが切れるので,Windows7をインストールできないかと考えた.

Windows 7 Upgrade Advisor で試してみた.
http://windows.microsoft.com/ja-jp/windows/downloads/upgrade-advisor

結果は,ドライバがないのでアップグレード不可.
グラフィックやら,無線LANやら,SDカードやら…
方法が無い訳ではないが,いろいろと面倒みたい.

ノートパソコンはいろいろとややこしい.