macOSにpipをインストールする
python2は入っているし、python3とかpip3は brew install python
で入れたけど、pipが入っていない!
ってことがあったのでメモ
brewでpython2を入れれば良い。 具体的には下記コマンド。
brew install python@2
解決!以上
Visual Studio Codeのファイルツリー(エクスプローラー)のフォントを変更する
VSCodeのファイルツリーのフォントが気に食わなかったので変更したのでメモしておく。 設定ファイルではエディターのFontFamilyは変更できるが、サイドバーのFontFamilyは変更できないようであった。
vscode-custom-css拡張をインストールする
カスタムCSSを適応することができる拡張機能があるので、まずこれをインストールする。
VSCodeの拡張機能検索から、vscode-custom-css
を検索し、インストール、再起動。
適応するカスタムCSSファイルを作成する
今回はファイルツリーのファイル名のフォントと、エディターで開いているファイル名のフォントを変更する。
下記の内容のファイルを ~/.vscode/css/tree.css
として保存する
.sidebar .explorer-viewlet .label-name, .editor .title .label-name { font-family: "Monaco" !important; font-size: 11px !important; }
vscode-custom-cssを有効化する
ユーザ設定に以下を追加する
"vscode_custom_css.imports": [ "file:///Users/semenov/.vscode/css/tree.css" ]
その後、Shift+Command+Pを押して、 Enable Custom CSS & JS
を選択。そしてVSCodeを再起動する。
再起動後、「VSCodeが壊れているかも」というメッセージが出るか、問題ないので二度と表示しないようにしてOK。
以上でファイルツリーのフォントが代わっているはず。
ちなみにCSSを更新した後は、 Reload Custom CSS & JS
を選択し、VSCodeを再起動する必要がある。
参考: 当該CSSセレクタを見つけたり、テストする方法
ヘルプ => 開発者ツールの切り替え
をすると、Developer Toolsが出るので、普通のWeb開発と同じように目的のDOM要素を見つけてCSSを変更したりしてみると良い。
iTerm2で拡大時にOpen Command Historyが発火してしまう問題の対処
最近iTerm2を使っているときに、文字を拡大しようと「Command + Shift + +(;)」を入力すると、 拡大はされるのだが、同時にコマンドヒストリーが表示されるようになってしまった。 おそらく日本語キーボード固有の問題だと思うが、メモ。
対処方法
- iTerm2 -> Preferences -> Keys
- Key Mappings下部の「+」から新規登録
- 「Command + ;」のアクションを 「Ignore」 に設定
- 「Command + Shift + +」のアクションを 「Select menu item "Make Text Bigger"」に設定
これでうまく動くようになった。以上。
Logicoolのメディアキーが効かない問題の対処法
macOS SierraでKeychainに新規WiFiパスワードが登録されない問題の解決方法
本題の通り、Sierraにて新しいWiFIに繋げた時、そのパスワードがキーチェーンに登録されず、毎回パスワードを求められる現象が発生したときの対処法。
昔のバージョンでは Keychain First Aid
なるものがあったが、最近のバージョンには搭載されていない。
解決策
Keychainが壊れているようなので、Keychainフォルダを削除(移動)させて、全て初期化する。 (その前にiCloud連携を切っておいたほうが良いかもしれない)
mv ~/Library/Keychains ~/Library/Keychains.bak sudo mv /Library/Keychains /Library/Keychains.bak => 再起動
駄目だった方法
- macOSの上書きインストール
- 新規キーチェーンの作成とデフォルト設定
- キーチェーンのメニューから行う初期化
CentOS6でG3258のIntel HD Graphicsドライバが認識されない問題
録画環境を前回の記事の通りに作った。 次はTSファイルをエンコードする環境を構築する。 画質にそこまでこだわりはないので、QSVを使ってH264に圧縮する。 その過程でグラフィックドライバが認識されないという問題にぶち当たったので解決法を乗せる
環境
M/B: H97-PLUS CPU: Pentium Dual-Core G3258 BOX OS: CentOS release 6.9
*注 もちろんCPUがQSV対応でないとそもそも駄目である
ドライバ導入
yum install xorg-x11-drv-intel.x86_64 xorg-x11-drv-intel.x86_64-devel reboot
認識されない
lshwを使って確認してみたところドライバが認識されていない
(lshwはyumで導入した yum install lshw
)
% sudo lshw -c video *-display UNCLAIMED description: VGA compatible controller product: Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller vendor: Intel Corporation physical id: 2 bus info: pci@0000:00:02.0 version: 06 width: 64 bits clock: 33MHz capabilities: msi pm vga_controller bus_master cap_list configuration: latency=0 resources: memory:f7800000-f7bfffff memory:e0000000-efffffff(prefetchable) ioport:f000(size=64)
UNLCAIMEDになっている。ドライバが認識されていない場合上記の表示になるらしい。 この状態ではVAAPIが利用できない。
解決方法
grubで起動するときに渡されているオプション nomodeset
が悪さをしているらしい。
/boot/grub/menu.lst
を編集して nomodeset
を削除する。
vim /boot/grub/menu.lst
[before] kernel /vmlinuz-2.6.32-696.1.1.el6.x86_64 ro root=/dev/mapper/vg_hoge-lv_root nomodeset rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_hoge/lv_root rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=vg_hoge/lv_swap rd_NO_DM rhgb quiet [after] kernel /vmlinuz-2.6.32-696.1.1.el6.x86_64 ro root=/dev/mapper/vg_hoge-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_hoge/lv_root rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=vg_hoge/lv_swap rd_NO_DM rhgb quiet
この後リブートしたらちゃんと認識される。
% sudo lshw -c video [main] *-display description: VGA compatible controller product: Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller vendor: Intel Corporation physical id: 2 bus info: pci@0000:00:02.0 version: 06 width: 64 bits clock: 33MHz capabilities: msi pm vga_controller bus_master cap_list rom configuration: driver=i915 latency=0 resources: irq:27 memory:f7800000-f7bfffff memory:e0000000-efffffff(prefetchable) ioport:f000(size=64)
悪戦苦闘しつつドライバ導入まで成功したが、VAAPIは簡単には動かなかった。その記事はまた別途書く予定。 ざっくりいうと、libva/intel-vaapi-driver/libva-utilsの最新版をソースからビルドすればうまくいった。
PX-W3PE+CentOS6+recpt1+Chinachu γで録画環境構築
今までWindows上でEpgDataCap_Bonを使って録画環境を構築していたが、自宅サーバをLinux系一本にまとめたかったので更改することにした。 TVチューナーとしてPX-W3PEをしている関係でOSに縛りがあったので、普段利用しないCentOS6を入れたがとりあえず動いている。
OSの選定
PX-W3PEはRedhat系のドライバしか公開されていないので、とりあえずインストールしようとしたUbuntuの導入は断念。 また、Kernel 3.x系 (CentOS7等)では動作しないという情報もあり、CentOS6.9を導入することにした。
ドライバの導入
CentOS6.9のインストールは割愛。フィーリングでインストール。
ドライバファイルは現在公式サイトからはリンクが貼られない形になっている模様。 直リンクではダウンロードできるので、下記Wikiに貼り付けてあるURLからダウンロード www22.atwiki.jp
インストール方法は下記サイトを参考にした。またBCASカードリーダについても下記サイトを参考に。 quail.mydns.jp
recpt1の導入
上記サイトにも記載されているが、巷に出回っているrecpt1はPX-W3PEに対応してない。
そのため foltia ANIME LOCKER
に付属しているものを利用するか、PX-W3PEに対応したrectp1のソースを探し、コンパイルする必要がある。
それらしきリポジトリを発見したので使わせてもらっている。 github.com
導入方法はリポジトリ内のドキュメント参照
px_drv/px_drv.md at main · project-pp/px_drv · GitHub
arib25の導入とテスト
例によって下記サイトを参考にさせていただいた。 quail.mydns.jp
いろんなサイトにrecpt1の動作確認コマンドが乗っているが、PX-W3PEの場合は上記サイトの通りに、デバイスを指定してあげないとうまく動作しなかったので注意
recpt1 --device /dev/asv52202 --sid hd 24 10 ~/test.ts
mirakuru/chinachuの導入
基本的に公式Wikiを参考にすれば問題なし。いくつか補足する。 github.com
nodeのバージョン
CentOS6ではyumで入るノードのバージョンが必須環境であるnode6.5.0より下なため、自前で6.5.0以上7.0.0以下のものを入れる必要がある。 うろ覚えだが、nを使ってこんな感じに入れる
$ yum install epel-release $ yum install nodejs npm $ npm install -g n $ n 6.5.0 $ yum remove nodejs npm $ node -v v6.5.0
mirakurunのtunersコンフィグ
sudo /usr/local/bin/mirakurun config tuners
name: PXW3PX-S1 types: - BS - CS command: recpt1 --device /dev/asv52200 <channel> - - decoder: arib-b25-stream-test isDisabled: false - name: PXW3PX-S2 types: - BS - CS command: recpt1 --device /dev/asv52201 <channel> - - decoder: arib-b25-stream-test isDisabled: false - name: PXW3PX-T1 types: - GR command: recpt1 --device /dev/asv52202 <channel> - - decoder: arib-b25-stream-test isDisabled: false - name: PXW3PX-T2 types: - GR command: recpt1 --device /dev/asv52203 <channel> - - decoder: arib-b25-stream-test isDisabled: false
mirakurunのチャンネル設定
下記サイトを参考にした。ただし、mirakuru@2.1.0以上にはチャンネルスキャン機能があるので、そちらを利用するほうが良さそう www.jifu-labo.net github.com
これにて録画環境の構築完了。 この後、CentOS6でQSV(VAAPI)を使ったエンコード環境を作ろうと奮闘するのだが、それは別記事にて。
Node+Express+Mongodbでのログイン認証機能の実装
最近、Node+Express+MongoDBという環境でのログイン機能を実装する機会があったので、残しておきます。
MongoDB
必要モジュール
mongoDBを利用するために以下の3つをpackage.jsonに追加し、インストールします
- connect-mongo : セッションをMongoDBに保存するために利用
- mongoose : MongoDBと接続してfindしたりsaveしたり
- crypto : sha1ハッシュを計算するために利用
コード
必要部分のコードをまとめてみました。解説はそのうちするかも。
仮想HIDドライバvmulti (1) : コンパイルからインストールまで
仮想HIDデバイスドライバとして有名らしい「vmulti(Virtual Maltiple HID Driver)」について、日本語の情報が一切引っかからなかったので備忘録として書いていきます。今回はVisual Studio 2012でのコンパイル方法と、OSへのインストール方法をまとめてみました。どなたかのためになれば幸いです。
公式サイト
VMulti - Welcome to DJPSoft
vmulti - Virtual Multiple HID Driver - Google Project Hosting
簡易的なインストール方法はプロジェクトページWikiにもあります
BuildingAndInstallingVMulti - vmulti - Virtual Multiple HID Driver - Google Project Hosting
vmulti(Virtual Maltiple HID Driver)で何が可能なのか
以下のデバイスの入力をエミュレートすることができます。
- マルチタッチ
- マウス
- ディジタイザ
- キーボード
- ジョイスティック
例えば、このドライバに対して「マウスを相対位置指定で(100, 100)に移動させてくれ」とリクエストを投げると、実際にマウスドライバの動作をエミュレートしてくれて、マウスがちゃんと移動します。
マクロをドライバレベルで動作させたりする用途にも利用できると思います。
Windows Driver Kit(WDK)のインストール
注意: Visual Studioをインストールしていない場合は、先にVisual Studioをインストールしてください。
(そうしないと、Project作成画面にWDKが表示されません)
ソースのダウンロード
Google Project Hostingからソースをダウンロード/チェックアウトします。
下記ページからzipでも落とせます
/ - vmulti - Virtual Multiple HID Driver - Google Project Hosting
ソースは以下の4つのプロジェクトを含んでいます。
- vmulti: vmultiドライバ
- hidkmdf: Hid miniport to be used as an upper layer for supporting KMDF based driver for HID devices. (よくわからん)
- vmulticlient: vmultiドライバにアクセスするための静的ライブラリ
- testvmulti: 上記の静的ライブラリを用いて、実際にドライバを使ってみるテストアプリケーション
ソリューションを開く(vmulticlient, testvmulti)
ダウンロードしたzip内にあるソリューションファイル(vmulticlient.sln)を開きます。
Visual Studio 2012で開くと、アップグレードを要求されるので、OKしておきます。
このソリューションにはvmulticlientとtestvmultiのプロジェクトが入っています。
vmultiとhidkmdfは別ディレクトリにプロジェクトファイルのみが存在します。
vmultiとhidkmdfをVisual Studioで開き、コンパイルする
ファイル → 開く → Conver Sources/Dirs...
vmulti: ./vmulti/sys/sources
hidkmdf: ./vmulti/hidmapper/sources
一度これを行うと、それぞれのディレクトリにプロジェクトが作成されます。
これを、vmulticlientなどのソリューションに追加することで、ひとつのソリューション内で全て開発できます。
vmulti/hidkmdfのコンパイル
それぞれのプロジェクトでビルドすれば以下のファイルが生成されます。
- vmulti.sys
- vmulti.inf
- hidkmdf.sys
ビルドするときは、動作対象のWindowsバージョンとx64/x86を適切に選択しましょう。
vmulticlient/testvmultiをコンパイルする
普通にそのままビルドしても私の環境だとできなかったので、プロパティを少々変更しました。
windows.hが開けない
fatal error C1083: include ファイルを開けません。'windows.h': No such file or directory
プロジェクト → プロパティ → 構成プロパティ → C/C++ → 全般
にある「追加のインクルードディレクトリ」に以下を追加
$(WindowsSDK_IncludePath)
excpt.hが開けない
fatal error C1083: include ファイルを開けません。'excpt.h': No such file or directory
上記と同様に「追加のインクルードディレクトリ」に以下を追加
C:\Program Files %28x86%29\Microsoft Visual Studio 11.0\VC\include
ドライバのインストール
64bitOSを利用している場合、デフォルトだとドライバに署名がないとインストール出来ません。
自己署名をすることで回避可能だと思うのですが、うまく行かなかったので、苦肉の策として採用した、OSのテストモード化の方法と、自己署名作業を途中まで記しておきます。
いつか、自己署名が出来たら更新します。
テストモード
テストモードにすることで、未署名ドライバを動作可能です。ただしセキュリティ的によろしくありません。
bcdedit /set TESTSIGNING ON
その後、ドライバをインストールします
devcon.exe install vmulti.inf djpnewton\vmulti
自己署名
下記の方法でうまく行かなかったため、なにか間違っていると思われます。
どなたかご教授いただければ幸いです。
makecert
証明書を作成します。
makecert -r -n "CN=LocalSign" -ss LocalCertStore -sr LocalMachine -pe
mmc
作成した証明書を登録します。
- プログラムを指定して実行「mmc.exe」
- ファイル → スナップインの追加と削除 にて「証明書(コンピュータアカウント)」を追加
- LocalCertStore/証明書/LocalSignが存在するか確認する
- LocalSignを「信頼されたルート証明書」と「信頼された発行元」にコピー
inf2cat
カタログファイルを作成します
c:\Program Files (x86)\Windows Kits\8.0\Tools\x64> inf2cat /driver:"c:\tmp\vmulti" /os:7_x64
signtool
署名します
signtool sign /s LocalCertStore /n "LocalSign" /t http://timestamp.verisign.com/scripts/timestamp.dll vmulti.cat signtool sign /s LocalCertStore /n "LocalSign" /t http://timestamp.verisign.com/scripts/timestamp.dll vmulti.sys signtool sign /s LocalCertStore /n "LocalSign" /t http://timestamp.verisign.com/scripts/timestamp.dll hidkmdf.sys
devcon.exe
ドライバをインストールします
devcon.exe install vmulti.inf djpnewton\vmulti
うまくインストール出来たかどうかやエラーなどは以下のログファイルに出力されています。
c:\Windows\inf\setupapi.dev.log