2015年12月4日金曜日

Linux Mint 17.2 to 17.3 upgrade アップグレードしました。

結局、再度アップグレードしてみました。ついでに、4.4.0 LTSカーネルをいれてみました。


依存関係がいろいろ発生して(自分の責任)めちゃくちゃ気味。

公式手順 をどうぞ。


自分の手順:いろいろ問題が多いのでやや複雑かもしれません。


1) 17.2から17.3にアップグレードしてから、
2)/etc/apt 配下を新規インストールの17.3に差し替え(コピーしてきた)。強引かな。
3) dist-upgrade かける。
4) どうしても依存関係が発生するパッケージを特定したら、 削除して、再インストール。慎重に!!
5) 依存関係の解消ができた!! と思ったら、
6) PPAを追加していって、これまでの環境に戻す。
7) 確認:今ここ。一部除外して調子いいです。
8) LTSカーネル 4.4.xのLowlatency、及びgeneric を導入しました。具合いいです。4.2系ではぼろぼろでした。

バックアップはまるごととっています。何度か失敗して書き戻しました。SSDベース20GBインストール区画ならレストアはものの数分で終わります。コーヒー入れる時間すらない。

反省と展望

結局、4がキモなのと、nightly build は使わないことですね。NBはこれで排除されました。4で迂闊に削除するとデスクトップ環境まるごと削除されちゃったりしますので、コマンドラインでじっくり確認しながら考えてください。バックアップはとっておいたほうがいいですよ。失敗したと思ったら、まるごと書き戻す。楽です。

余談

調子に乗って、カーネル4.4.xまであげてみました。調子いいみたい。

※最後まで残った問題は、GCCとハイバネ、スリープがメニューに出てこないって話。

GCCは、半年以上前から困っているので、今回は強引にPPAでアップグレード。 非推奨。

ハイバネは、不思議。

Grubのgfxmodeみつからん問題は、めんどくさいので、BRUGに選手交代。/etc 配下の差し替えとかやってみたんですけどね。不思議。burgで解決したのでOK。


ここまでやると、/HOME活かして、新環境でと考えると思います。はい、もちろんやっています。原因がいつか知りたいんですね。 だから、壊れ気味でも残してあったりします。

現在起動状態


Linux cinnamon 4.4.0-040400-lowlatency 
#201601101930 SMP PREEMPT Mon Jan 11 00:38:46 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

cat /etc/lsb-release
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=17.3
DISTRIB_CODENAME=rosa
DISTRIB_DESCRIPTION="Linux Mint 17.3 Rosa"

ターミネイターカーネルは一度も使うことはなかったですね。

2015年11月3日火曜日

Jack インストールと設定・3分クッキング(改訂4版)前篇

jackの導入・3分クッキング

(17.10beta1追記+18.04LTS alpha2/beta)+ manjaro + antergos + ubuntu 18.04LTS )

 クッキングの流れは3ステップ:

  1. jackキットを一式導入する
  2. jackを設定する(ここがミソ)
  3. アプリケーションを設定する
    ※追加::2の前に、ユーザー所属グループにaudio があるか確認してみましょう。なければ設定します。 DEに応じたGUIで設定してください。だいたい設定の「アカウント」で変更できます。ターミナルでも良いです。
$ id | grep audio
92(audio) <<すでに設定済み。なければ追加。
 
$ sudo gpasswd -a ログイン名 audio

debian/ubuntu/mintは自動設定の気がします。
 余談(manjaro とantegosでは部分的に違いますが、導入後は当然同じなわけで、何れも問題なく動いています。というより、ubuntu/mint ではどうやってもハイレゾが微妙なDACがあるんですが、manjaro とantergos ではパーフェクトじゃないかと。このふたつのarch系に関しては最終的にはdbusを使うようにしました)余談終了。

追記、jack処理落ちの際にチェックしておくべきことを記事にしました。オススメではありますが、結局のところだめなものはだめなので、特定USB-DACでははまらないようにしましょう。通常pulseでヘロヘロなものを改善したところで仕方ないってのが当方の結論。

インストール

さて、といっても、ubuntu/mintだと、いまや簡単です。CTRL+ALT+T でターミナルを開いて、下の一行を貼り付けてエンター。

sudo apt-get install qjackctl

sudo apt install qjackctl
のいずれかを。

めんどくさい人は、この段階で、以下も最初からいれておいてもいいです。パルスオーディオとの共存を考慮したい人向けです。普通に使いたい人は、むしろ次を発行でいいのではないかと。
 

sudo apt install qjackctl pulseaudio-module-jack vlc-plugin-jack

※archメモ sudo pacman -S qjackctl 

依存関係含めて必要一式が導入されます。それでインストール/導入は終わりです。17.10でも確認してみました。Synapticなどでも同様です。qjackctlで検索して選んでください。依存関係はおまかせです。15.10、16.04LTS、18.04LTSでも同じでした。閲覧数がなぜか多いので加筆修正しました。
当方はてきとーなので「気分はカジュアルオーディオ、なんとなくハイレゾ。ライブラリはFLAC。楽曲管理は、EACやそのケーススタディ wav,ape,tak,tta,flac,+cue FLACに決めました。」 みたいな「カジュアル」な考え方で音楽環境を構成しています。がちじゃないです。ゆるゆるです。

設定作業::ハマりどころはここです。

メニュー(サウンドとビデオに配されていると思います。)からqjackctlをラウンチ、設定、[開始|終了]。メニューにもしなければ?!、/usr/bin/qjackctl にあると思います。生で起動してみましょう。


設定画面のタブ4枚目、その他で自動起動設定にできますがしないほうがいいかもしれません。D-Busインターフェイスの有効化はオフにしておいたほうがいいかもです。D-Busがらみでエラーメッセージが確認できる場合、真っ先に疑ってください。ちなみに2018年からDbusなjackを導入することにしました。SMP対応のせいか?!比較してみると円滑なのです。気のせいかも。


当方は自動起動にはしていません。普段使わないので。あはは。
はい。設定終わり。

状況確認とタブ1枚目「設定」

タブの1枚目「設定」がうまく行かない場合は、次のようにデバイスを確認してみてください
サウンドデバイスの番号など状況確認は、次のコマンドで。当方の場合は、以下の黄色デバイスをデフォルト出力先にしていて、jackもこの出力先に設定しています。下の画面全体のキャプチャで確認できます。

aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: Generic [HD-Audio Generic], デバイス 3: HDMI 0 [HDMI 0]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 1: Generic_1 [HD-Audio Generic], デバイス 0: ALC892 Analog [ALC892 Analog]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 1: Generic_1 [HD-Audio Generic], デバイス 1: ALC892 Digital [ALC892 Digital]
  サブデバイス: 0/1
  サブデバイス #0: subdevice #0


aplay -L
Lが大文字です。長いので略。

考え方としては、ふつーHDMIにJACKは使わない??ので、HDMIというデバイス行はスルーですね。いちおう自分のハードウェア構成は知ってないと少し悩むかもしれません。以下の画面キャプチャで黄色をどう指定しているのか見比べてみてください。それでわかると思います。当方の光デジタル先のアンプは96kまでのハイレゾしか対応していないので96K設定にしています。最近のAVアンプなどをお持ちの場合は192k対応は通常余裕だと思います。

mplayerに、jackを掴ませて再生している図です。 mpvでもサウンド出力先指定して、同じことができます。兄弟なので。定義ファイルで固定にもできます。デフォルトは、Pulse。

参考:: .jackdrc はこういう一行ファイルです。~/.jackdrc


/usr/bin/jackd -dalsa -dhw:Generic_1,1 -r96000 -p1024 -n3 -s -m -H -M -P -zs
今の環境はjackを使っていないのですが、これは2015年11月の実ファイルです。この時はオンボードの光出力S/PDIFでアンプに流していました。

JACKで使ってみた再生アプリ(JACK対応限定)

JACKでの音出しテストです。あえて「pulseaudio-module-jack 未導入ケース」の説明なので、PulseAudioにしか対応していないアプリケーションは、JACKを終了するまで音がでません。JACKを終了した途端に(忘れた頃)再生を始めます。

どのアプリでもJACK経由で再生できる pulseaudio-module-jack については時間があれば丁寧に。とおもったけれど書き換えた冒頭通りまたは、リンク先の手順通りにすればそのまま動きます。このモジュールをいれちゃうと表題の「JACK 3分クッキング」の縛りである180秒を超過してしまうので、別項-STEP2にします。結果的に、
Ubuntu How to route all audio through Jack https://www.youtube.com/watch?v=UVhRDU6Kcds の設定と同じになります。ブラウザ(chrome)でもPulseAudio JACK Sinkルートで再生できるようになります。

JACKに素で対応しているアプリ

ざくっというと次のリストの通りです。自分が導入テストした範囲。けっこうWindows版もありますね。素というと少し嘘よ(アンジェ)ですが。ていうか、全部のLinux楽曲ソフトウェアはハイレゾかつJack対応といってもいいような気がします。そういうものか。jackdのsink に流せればいい、と。
  • Audacious 
  • Audacity(編集、解析用に使えます) 、
  • DeadBeef(jackプラグインの別途導入が必要。アンドロイドアプリもあります)
  • Clementine
  • smplayer(フロントエンド)
  • Gnome mplayer(フロントエンド)
  • mpv
  • mplayer(またはmplayer2)
など。それぞれ、コマンドラインでパラメーター引き渡しが必要だったり、定義ファイル指定が必要だったり、 JACKを出力先に設定してあげる必要などがありますが、最初の音出しテストなら、Audaciousがわかりやすくていいかもしれません。

コマンド派ならmpv/mplayerです。次のように、音声出力を指定します。jackのところを、alsaやpulseに変えてテストできますので、他のシーンでも便利でしょう。定義ファイルに指定もできます。nano ~/.mpv/config 。

#確実に指定できるので、ターミナルでのテストはこのほうがいいかも。
$ mpv --ao=jack "音声ファイルはできれば重いハイレゾ.flac"


DeadBeef……デザインモードで、カスタマイズできます。素で対応とはほんとはいえないがお気に入りなので紹介します。 以下にjackを含む DeadBeef 音楽プレイヤー 設定の仕方を完全フルカラーでまとめました。
(横道)妙な周波数ファイルがリストされているのは、ノイズがのっているので、どういうのり方なのか、聴いているからです。DeadBeefについていえばイコライザオンにすると高い周波数に別の信号がソフトウェア内部で発生しています。0にどんな数字をかけても0なのに?!というが私の解釈ですが、どうも期待どおりではないです。Audaciosでも発生しています。っていうか、ubuntu上のすべての導入済みアプリ、aplay、paplay でも発生しています。ちな、Windowsでは、WMPでも発生しています。SONY Xアプリだけが正確、ノイズがはいりません(ハードは同一でOSとアプリが違うということです)。正弦波「だけ」再生している限り、聴こえないはずの音がやっぱり聴こえてしまうのは、ubuntu/mintなので。鋭意調査中です。(無駄な気もしますが)。SONYすげー。ということにして続けます。
ついでにいうと、EQなんかはぜんぶ無効にしたほうがいいと思います。雑音がはいる。

DeadBeefはJackと相性がよい作りになっています。jackを出力先指定しており、jackが起動していなければjackを自動起動して再生してくれます。Deadbeefを終了すればjackも終了します。当方はjack常時起動ではありませんので好ましい機能です。jackプラグインを別途ダウンロード、追加して設定します。設定さえ済ませておけばjackの存在を気にかける必要がなくなります。左上にdeadbeefとして検索してください。設定の仕方を記事にしました。



VLCメディアプレーヤはプラグインがあった気がしますので、それで使えるようになると思います。ちなみにvlcをコマンドラインで再生する場合は、cvlc にしてもいいよともいわれますので、そうしています。プラグインはあります。プラグインをいれて設定で出力選択するだけで使えるようになります。
次のコマンドを発行してください。

sudo apt-get install vlc-plugin-jack

実際に導入してVLCで再生した場合は次のようになります。

vlcの例 

出力モジュールの部分を[jackオーディオ出力]にします。


JACKとPulseAudio共存:カジュアルオーディオですから

次のステップは音楽専用機する人は不要ですが、カジュアルオーディオ派の多くが目指したいと思うはずの、PulseAudioとの共存です。つまり、一旦設定しておけばその後ユーザーは何も考えずに高音質設定(jack)で音がでるようになる。そうするってことです。横着です。
どのアプリでもPulseaudioからJACKで再生できる pulseaudio-module-jack でjack経由で再生します。おわり。――いや、ほんとにそれだけなんです。導入はこの記事の冒頭通りです。
以下のキャプチャを説明します。どうなっているかというと、
JACKで音出ししています。
  • WINEでゲーム音声を再生しています。
  • 3つのアプリケーションで楽曲再生しています。
  • firefoxでYoutube動画を再生しています。
同時です。うるさいです。

WINEに関していえば(10000Hzを超えるテストトーンがノイズだらけだったのですが)ノイズが確実に減りました。JACKの効果でしょう。軽いゲームのBGMなどでは問題ないレベルです(また、JACKと無関係にWINE1.8以降ではさらにサウンドは改善されていると思います。これは断言します)。



音楽専用(+ピュアオーディオ志向)なら、これに加えて低遅延カーネルを導入したほうがいいですね。電気は多少食います。再生ピッチに違和感などを感じたら、低遅延カーネルの出番かもしれません。もっとも、ものごとには限度ってものがありますからね。

http://poor-user.blogspot.jp/2016/04/install-linux-lowlatency-on-ubuntu1604.html

ここまで読んでいただけた方は設定の前に次も合わせて目を通しておくといいかもし
れません。2017年9月24日現在の当方の総括です。

しつこくも後編に続きます。👉 https://poor-user.blogspot.com/2018/07/jack-34.html

2015年11月2日月曜日

Linux Hi-Res Audio USB-DACなどの設定

ハイレゾ対応にするための定義ファイルの編集(サンプルレート、ビット深度は2行書き換えるだけ) Pulse Audio でのお話です。


ターミナル(端末)を開きます。CTRL+ALT+T

sudo gedit /etc/pulse/daemon.conf

;; default-sample-format = s16le
;; default-sample-rate = 44100

default-sample-format = s32le
default-sample-rate = 192000

2行書き換えて、

pulseaudio -k ; pactl list short sinks
としてください。リブートでもいいです。これで基本的に完了です。最近のデバイスであれば、192k/24bitぐらいはデフォルトなのでほとんどこの通りでだいじょうぶかと思います。マルチブートであればWindowsの設定で実際に音が鳴るかどうかを試験して設定できますので、その上限に合わせるとよいです。かなり古いサウンドチップなどの場合は、48K(DVDのサンプリングレート)が上限だったりします。
もちろん環境に応じて書き換えてください。

以下は何か困ったら参考にしてみてください。

試しに、以下の3つのコマンドを順次実行して結果をみるといいかもしれません。
(追記:確実に設定するにはやはり必要。)

pactl list short sink-inputs
34    7    21    protocol-native.c    s32le 2ch 192000Hz

pactl list short sinks

0    alsa_output.pci-0000_00_01.1.hdmi-stereo    module-alsa-card.c    s16le 2ch 48000Hz    SUSPENDED
2    bluez_sink._SONY_    module-bluetooth-device.c    s16le 2ch 48000Hz    SUSPENDED
7    alsa_output.pci-0000_00_14.2.iec958-stereo    module-alsa-card.c    s32le 2ch 96000Hz    RUNNING


pacmd list-sinks | grep sample
    sample spec: s16le 2ch 48000Hz
    sample spec: s16le 2ch 48000Hz
    sample spec: s32le 2ch 96000Hz

※このS/PDIF接続先のアンプがスペックで96k上限。

(おまけ)BluetoothとS/PDIFケーブルを抜いて、USB-DACに接続した場合の出力例。
pactl list short sinks       
0    alsa_output.pci-0000_00_01.1.hdmi-stereo    module-alsa-card.c    s16le 2ch 48000Hz    RUNNING
8    alsa_output.pci-0000_00_14.2.analog-stereo    module-alsa-card.c    s32le 2ch 96000Hz    SUSPENDED
9    alsa_output.usb-Burr-Brown_Japan_Burr-Brown_Japan_PCM2702-00-PCM2702.analog-stereo    module-alsa-card.c    s16le 2ch 48000Hz    SUSPENDED


9は、2002年の製品です。
 

謎というか、調べないとわからないことが多いですね。音を正しく出すというのはLinuxでも手間いらずで5分で終わるのですが、どうなっているのか?確認したり、マウス操作したくないので自動的にsinkをシェルで切り替える設定にするにはどうしたらいいの?とか思うとタコユーザーには時間かかります。

音源ソースフォーマット別の結果

それぞれのフォーマットをAudacity ,deadbeef 再生中に実行,確認。
(PulseAudio出力)
» pactl list short sink-inputs

233    1    288    protocol-native.c    s16le 2ch 44100Hz        1)
439    6    902    protocol-native.c    float32le 2ch 44100Hz   1-2)
235    1    292    protocol-native.c    float32le 2ch 96000Hz   2)
236    1    294    protocol-native.c    float32le 2ch 192000Hz 3) 
1) CDと同じ。44.1k/16bit

1-2) 320k MP3(audacity)
2) 96k/24bit
3) 192k/24bit

384k/24bitフォーマットも作っって再生してみた場合、3)と同じです。

おまけ
pactl list short sink-inputs
2    5    21    protocol-native.c    s24le 2ch 192000Hz deadbeef

●384k with audacity
50    5    125    protocol-native.c    float32le 2ch 192000Hz audacity
(5    alsa_output.pci-0000_00_14.2.analog-stereo    module-alsa-card.c    s32le 2ch 192000Hz    RUNNING
)


当方でdeadbeefは、PulseAudio出力で384kフォーマット再生は落ちます。ALSAだと落ちません。

勘違いでなければ、Realtek 892の同社のスペックシート通り、最大192k/24bit、このHD Audioの上限に設定されています(Windows7起動でも同じ)。内部の電源ノイズを拾わないのであれば、私のチープな環境では、これが最高のハイレゾ再生可能環境です。

  • アンプへのS/PDIF出力は古いアンプの仕様で律速されるので、96k/24bitが上限
  • USB-DACのUSB接続は、44.1/24bitが上限。古い製品。
  • HD Audioでマザーボード上のデジアナ変換は、192k/24bitが上限。

一般に、嫌われるオンボードサウンドデバイスですが、ノイズがのらなければ、これでハイレゾスペックは満たしますので、そこにヘッドフォンを繋いで聴くことにします。 USB-DACの交換も当面しないことにしました。


前面ミニジャックではノイズを拾いますのでリアジャック接続です。シールドすればいいのかもしれません。

ここまでの前段階で、ノイズが自分で気づかないレベルの電源に置換しています。だからノートPCの場合ににわかに適用できるかわかりませんし、S/PDIF端子とか同軸デジタル端子とかノートPCにはついていません。テストしようがありません。ThinkPadにはついていないです。 そういうモノなのでしょう。光音声出力が搭載されているマザーボードもすべてではないから、S/PDIFも試すことができるケースも限定的だとは思います。そもそも、ノートPCにどんなサウンドチップが搭載されているかは覚えてないです。音楽聴かないし。笑)

2015年7月21日火曜日

Bluetooth でファイル転送してみる。

ミニ実験

PC側からXPERIAにBluetoothでファイル転送。あまりに遅くて、笑えます。



audio source


XPERIA Z1。audio source、ネットワークアクセスポイントの扱いで接続します。

特に、前者audio source。どういう機能なのか? できるのかできないのか、そもそもどういう仕様なのか調べてないので知りません。


現象的には、XPERIAで再生した楽曲をubuntuマシンで垂れ流しのように再生できます。そういう機能なのでしょう。(てきとー)


XPERIAのWALKMAN(MUSIC)をミュージックプレイヤーとして使い、音声はPCにつないであるUSB-DAC-メインアンプを通じて[音がでる] という状態です。

私のニーズとしては、ubuntuで何らかの音声を出力するとXPERIAでそのまま再生されればいいな、と思ったでした。無理なのでしょうかね。

必要な理由は、ワイヤレスヘッドフォンを充電中の場合に、XPERIAが一時しのぎのレシーバーにならないかと考えたわけです。このヘッドフォン、SONY MDR は仕様で充電しながらではワイヤレスオーディオ(ヘッドフォン)にはなれません。有線ヘッドフォンとしては使えます。充電しながらミニジャック経由で音は聞けるわけです。

つまらないことに時間を割いてしまった。なぜなら、DLNAレンダラーとして使えば、ubuntu側から再生させられるので。普段から充電しておけば問題ありません(もともとのニーズが発生しないので)。

DVD/BDライティングソフト k3b 日本語化手順

k3bが、Linux界隈で定番のDVD/BDライティングソフトの地位を固めた気がしますが、ディストリビューションによって、日本語化手順が異なるので、ubuntu/mintのケースワークを記しておきます。

おそらくここに来ている方は、ネット情報通りでは日本語化できていないと思います。だからググったはずですね。k3bだけのローカライゼーションを導入します。その他はいれません(いれたくないので)。

結論からいうと、以下のコマンドを発行してください。CTRL+ALT+Tでターミナル。ubuntu系は以下を発行.CTRLALTT
切り貼りでも、ドラッグアンドドロップでもよいです。

sudo apt-get install k3b k3b-i18n

以上のように、synaptic で選択してももちろんOKです。

つまり、k3b-i18n はおまかせでは入らない。依存関係に含めてくれればいいのですが英語圏の人には無用ですものね。

日本語への切替

言語の切り替えは、メニューバーのヘルプで選択します。以下は、既に日本語化されています。



いろいろ試行してうまくいかず、このページが検索されていると想定して書いています。だから不親切気味です。

さて、braseroが壊滅的にひどいという印象は私にはないので、絶対的おすすめってわけではありません。年度末バックアップ アーカイブで数枚25GBのBDを焼きましたが、何度もエラーが99%で発生しました。ただ、ファイナライズ段階でこけただけみたいで、一旦リブートする と自動マウントしてBDデータディスクとして認識しています。いちおうOK。こんなんばっか。

2015年7月10日金曜日

万能解凍ツールで一発解凍。unp tar.gz rpm deb zip rar

参考:マウスやコマンドライン・ターミナルでの操作


などがおすすめです。

万能解凍・展開コマンド unp


おそらくアンパックだから、unpなのでしょう。万能的な解凍コマンドは、unarもあります。unarのほうがいいかもしれませんが、たまに、unarはrarの解凍途中でこけるので完全には信用していないのでした。 セカンドチョイスとしての提案です。


ひとつのコマンドを覚えるだけで、多様な圧縮フォーマットを展開してくれる、便利なヤツ。 unp

インストール

sudo apt-get install unp


実例

unp 圧縮ファイル名

これだけです。


カレントディレクトリにzipとrarのファイル群があるとします。


zshなら、

unp *.(zip|rar)

で、すべて一括解凍。基本は

unp *.*

みたいにつかいます。つまり、


unp file.acrcheiver

ということです。ですから、以下のように使えます。


unp *.tar.gz
unp *.tar.bz
unp *.rpm
unp *.deb

SJIS絡みのzip文字化けを解決してくれるわけではありません。実体はperlスクリプトで実際の展開作業は個別フォーマット用解凍コマンドが行います。SJISの対応の仕方は最上部リンクで。

なお、zip展開/解凍の役割は、unzipが割り当てられています。当方では文字化け対策でそこを書き変えて使っています。

2015年7月2日木曜日

Bluetooth A2DP の認識が劇的に改善された7月1日(悲報:だけれども、7月5日にはもっと最悪な状態になっていた)

幻だったのではないかとおもう記憶::Bluetooth A2DP の認識が劇的に改善されたあの日

3年前のできごとだったのか。遠い目。こんなに円滑な完璧な状態は一度も再現することはありませんでした。3年ですよ。だから、この記事は少年の日の思い出とタグをつけてもいいくらいです。技術文書としては読まないほうがいいかも。笑) 事実の羅列ではあります。BT/A2DP機器はその後3年の間5つ位買いましたがどれもこのレベルではないです。SONYなどの2万円超えから、3000円程度の安いバチモノまで。W10でもありませんから、そんなものだとあきらめましょう。笑) 

A2DP電源オンオフ。瞬時に認識、切り替わる=音が出る。至高状態。再現映像です。


以下は、過去の記録です。現在16.04で、まぁまぁごきげんです。Windows10と比較して繋がるまでの手間はubuntuの方が少ないですから、期待しすぎるのもだめなのかもとは思いますが、XPERIA/Nexusでの接続性と比較するとやはりいまいちかな。十分です。

「再現GIF動画」にしたような状態がベストなのですが、二度とこのような快適さを味わったことはありません。あはは。数日の幸福でした。


(追記:7月5日日本時間早朝、まったく接続しなくなりました。解散。解散。これが糠喜びというやつか。そうなのか。――回避方法。これまでどおりで、一旦[これまでの接続情報]を削除して、最初のネゴからやり直します。これでうまくいきます。数秒の世界から60秒はかかる世界に逆戻りです。)

14.04LTS時代のお話


びっくりなんてものじゃありません。

Bluetooth A2DPデバイスの認識がもうひどくて、使えるようになるのに自前のスクリプトを用意しても良い時で30秒、普通に2分。最悪リブートして同じ手順を踏むという状態が続いていましたが、一挙に改善されました。

当方には、SONYのふたつのBluetooth A2DP機器があります。電源をいれて数秒内で認識し音が鳴り出します。瞬時です。生Windowsより良いです。有効なサウンドデバイスをつないでない状態になぜ私が設定しているのか理解していただけるかと思います。もしかしてそれも不要かもしれません。

OSからみて複数使えるサウンドデバイスがあった場合に[どれを使ったらいいのかできるだけ悩まなくてもいいようにするためです。ひとつなら、どれをメインにするかは簡単。

Cinnamonで最初に現象に気がつき、MATEでも念の為、確認しました。画像はMATEです。Linux系全体で恩恵があるのであればうれしいですね。(半年間を返せ。笑) (糠喜びでした。)

※あえて注記:16.04LTSでは、設定ファイルはまったくいじっていません。audio.conf もありません。このアーティクルは14.04LTSでおきた現象の記録です。


参考:現在の設定ファイルの記述
変更する場合はオリジナルのバックアップを取得しておきましょう。

/etc/bluetooth/hcid.conf
device FC:F1:AA:BB:00:FF {
name "MDR-ZX750BN"
auth enable;
encrypt enable;
}


/etc/bluetooth/audio.conf
# Configuration file for the audio service
# sudo gedit /etc/bluetooth/audio.conf
# This section contains options which are not specific to any
# particular interface
[General]
# Switch to master role for incoming connections (defaults to true)
Master=true

# If we want to disable support for specific services
# Defaults to supporting all implemented services
#Disable=Gateway,Source,Socket

#可能でもつながったが、DISABLEにしてみるとか。#Enable=Socket
#Disable=Socket
#Enable = Sink,Source

Enable = Sink

#If PulseAudio fails when changing the profile to A2DP with bluez 4.1+ and PulseAudio 3.0+, you can try disabling the Socket interface from /etc/bluetooth/audio.conf by removing the line Enable=Socket and adding line Disable=Socket.

# SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)
# Defaults to HCI
SCORouting=PCM
#SCORouting=HCI
# でもOKだった。

# Automatically connect both A2DP and HFP/HSP profiles for incoming
# connections. Some headsets that support both profiles will only connect the
# other one automatically so the default setting of true is usually a good
# idea.
####
AutoConnect=true
#AutoConnect=false

# Headset interface specific options (i.e. options which affect how the audio
# service interacts with remote headset devices)
[Headset]
# Set to true to support HFP, false means only HSP is supported
# Defaults to true

#HFP=true

HFP=false

HSP=false
# 無効。HSP HFP 

# Maximum number of connected HSP/HFP devices per adapter. Defaults to 1
MaxConnected=0

# Set to true to enable use of fast connectable mode (faster page scanning)
# for HFP when incoming call starts. Default settings are restored after
# call is answered or rejected. Page scan interval is much shorter and page
# scan type changed to interlaced. Such allows faster connection initiated
# by a headset.
####FastConnectable=false
FastConnectable=true

# Just an example of potential config options for the other interfaces
[A2DP]
#SBCSources=1
#MPEG12Sources=0
SBCSources=0       #SBC
MPEG24Sources=1 #AAC
MPEG12Sources=0 #MP3
#ATRACSources=1 SONYを2つもっているが何れも対応していない。笑うわ。

※所詮圧縮Codec。aptX(これも圧縮だけど)がLinuxではライセンスの都合で使えないので、AACを次善で選ぶようにした(MAC OS ,iPhones並)。正しい設定なのかどうかはわからない。androidのBluezも同じ書式。 お風呂BTスピーカーでBGMを鳴らすならSBCでもOK。
#MAC OS Xは、aptXが使えるようにできるらしい。



この改善の立役者は、たぶん、以下のパッケージに含まれている気がします。Cinnamon環境でリストアップしました。ただ、bluemanは関係なさそうです。アンインストールしようと思います。
ii blueman 1.23-git201403102151-1ubuntu1
ii bluetooth 4.101-0ubuntu13.1
ii cinnamon-bluetooth 3.8.8-20150701012003-trusty
ii gir1.2-gnomebluetooth-1.0 3.8.2.1-0ubuntu4.2
ii gnome-bluetooth 3.8.2.1-0ubuntu4.2
ii libbluetooth-dev 4.101-0ubuntu13.1
ii libbluetooth3:amd64 4.101-0ubuntu13.1
ii libbluetooth3-dbg 4.101-0ubuntu13.1
ii libgnome-bluetooth11 3.8.2.1-0ubuntu4.2
ii pulseaudio-module-bluetooth 1:4.0-0ubuntu11.1
ii pulseaudio-module-bluetooth-dbg 1:4.0-0ubuntu11.1
ii python-bluez 0.18-2


2015年7月1日水曜日

スクリプト:dpkg パッケージの状態などを確認する dpkg -l

dpkgコマンドの利用例 -l 



Cinnamon Nihtly Buildを入れているため、こまめに状態を確認しています。ここ24時間とても不安定でした。2015-07-01現在の気分。スクリプトというレベルじゃなくて、ただのコマンドです。


dpkg -l

でパッケージ全体の導入状態一覧が確認できます。見通しが悪いので傾向を見るために、


dpkg -l | grep -P 'i386\s|amd64\s|all\s' | awk '{print $1}'| sort | uniq -c
3303 ii
87 rc

状態は行頭の2文字で判別します。
3300個がiiという状態で、87個がrcという状態です。

インストールフラグがたっていて、インストールも成功している=ii。
除去(アンインストール/remove)されているが、設定ファイルは存在する(残してある)=rc

です。当方の場合、この2つのパターン。


1桁目の意味


    u: 不明 Unknown
    i: インスール
    r: 除去 Remove
    p: 完全除去 Purge
    h: Hold

2桁目の意味


    n: インストールされていない。
    i: インストール成功済み
    c: 設定ファイルが存在
    u: アンパックされたまま
    f: 設定ファイル除去に失敗
    h: 半分インスト

※hの正確な解説希望

3桁目の意味

※一時的にしか発生しない気がする。アップデートで自動インストールされる予定パッケージはこうなっている気がします。

    R: 再インスト要

一部スルーしています。


読みにくい場合は、
export COLUMNS=100 ; dpkg -l

と一時的に端末の桁数に合わせるといいかもしれません。私の場合は100位が見通しがよいです。



#シナモンのファイルは何が入っているかな? 
正しくはこうコマンドを発行するようだ。zsh。

dpkg -l cinnamon\*


#nightly build です。以下のほうが自分にはわかりやすい気もしないではない。

dpkg -l | grep cinnamon

ii cinnamon 2.6.11-201507010 amd64 Cinnamon desktop
ii cinnamon-bluetooth 3.8.8-2015070101 amd64 Gnome Bluetooth support for the Cinnamon desktop
ii cinnamon-common 2.6.11-201507010 all Cinnamon desktop (Common data files)
ii cinnamon-control-cente 2.6.0-2015070101 amd64 utilities to configure the Cinnamon desktop
ii cinnamon-control-cente 2.6.0-2015070101 all configuration applets for Cinnamon - data files
ii cinnamon-core 2.4.0~ubuntu1~tr all Cinnamon desktop environment - essential component
ii cinnamon-desktop-data 2.6.5-2015070100 all Common files for Cinnamon desktop apps
ii cinnamon-screensaver 2.6.4-2015070101 amd64 Cinnamon screen saver and locker
ii cinnamon-session 2.6.3-2015070104 amd64 Cinnamon Session Manager - Minimal runtime
ii cinnamon-session-commo 2.6.3-2015070104 all Cinnamon Session Manager - common files
ii cinnamon-settings-daem 2.6.3-2015070100 amd64 daemon handling the Cinnamon session settings
ii cinnamon-themes 2015.06.14 all Cinnamon themes
ii cinnamon-translations 2.6.3-2015070104 all Translation files for the Cinnamon desktop
ii gir1.2-cinnamondesktop 2.6.5-2015070100 amd64 Introspection data for CinnamonDesktop
ii libcinnamon-control-ce 2.6.0-2015070101 amd64 utilities to configure the Cinnamon desktop
ii libcinnamon-desktop4:a 2.6.5-2015070100 amd64 Cinnamon library for loading .desktop files
ii libcinnamon-menu-3-0 2.6.0-2015070101 amd64 Cinnamon implementation of the freedesktop menu sp
ii mint-artwork-cinnamon 4.9 all Default artwork for the Cinnamon edition of Linux
ii mint-info-cinnamon 2015.06.08 amd64 Necessary information about the Linux Mint release
ii mint-meta-cinnamon 2015.06.11.1 all Set of packages installed by default in the Cinnam

2015年6月30日火曜日

Blogger に表・テーブル を記述する方法。極限まで楽してある程度見栄えのよい表を作成したい

極限まで楽して、見栄えのよい表を作成したいがための作業メモ:最後は合理的に、簡便に。


もちろんOS問わない話です。MACでもWindowsでも基本的に同じ。

Linuxでグーグルの機能を使い、HTMLテーブルを作成するのなら、

  1. グーグルドライブ、APPSでスプレッドシート作成
  2. 編集する。(アドオンいれると多少高機能に)
  3. ODFでダウンロード、XL形式でも可。
  4. CALCで開く。 必要に応じて編集。
  5. CALC上で必要部をコピー
  6. ブラウザの編集投稿の画面にペイスト

これが一番楽で綺麗にできそう。時間も短い。

オンラインに保存しておく必要がなければ、実は、

CALCで作成、コピー、ペイスト


でもいい。ローカルなので作りやすい。結局1行で説明が済んだ。



ただ、この完成したテーブルをいじるのはやめたほうがいい。
直接タグをいじるなんて、苦行を超えていますね。
見通し悪いなんて騒ぎではない。色をつけたりセル統合したり、書式をいじっているともう大変です。人間が処理する世界ではありません。超単純なら別ですが。



作りなおして、コピペ。これが一番。漢は潔く。女の子もね。

※Calcとは、OpenOffice,LibreOfficeのスプレッドシート。表計算。エクセルみたいなものです。MS-Officeでも同じようにできるんでしょうね。たぶん。












2015年6月29日月曜日

Linux Mint 17.1 to 17.2 upgrade アップグレードしました。

MINT 17.1から17.2にアップグレードしています。

正規の手順のページがどこかにあるはずですが、とりあえずこれで適用しました。

参考ページは必ず参照してください。少しだけ違います。10分もかからなかったと思います。mint/ubuntu共に、jaistさんのミラーを定義しています。

リポジトリを書き換えます。


ターミナルで(CTRL+ALT+T) 。不安な場合は2つのファイルのバックアップを取得しておきましょう。


sudo apt-get update
sudo apt-get upgrade

sudo sed -i 's/rebecca/rafaela/' /etc/apt/sources.list
sudo sed -i 's/rebecca/rafaela/' /etc/apt/sources.list.d/official-package-repositories.list

sudo apt-get update
sudo apt-get upgrade
sudo apt-get -f install
sudo apt-get dist-upgrade
sudo apt-get -f install


sudo reboot 1回目のリブート


最新の推奨カーネルを導入します。


Install the latest recommended kernel を参考にして下さい。

具体的には、

mintupdate アップデートマネージャーを起動。
  1. 表示(V) Linuxカーネルを選ぶ。
  2. 推奨となっているカーネル。たぶん現時点では 3.16.0-38をマウスで選択。
  3. installボタンをクリック。



私は、もっと新しいカーネルを使っていますので適用しませんでした。一度にやってもいいのかもしれません。こういう作業は慎重なほうがいいのでおすすめはしません。

sudo reboot 2回めのリブートが必要です。



起動後に、バージョン確認。


ターミナルで。(CTRL+ALT+T)


cat /etc/*release*

DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=17.2
DISTRIB_CODENAME=rafaela
DISTRIB_DESCRIPTION="Linux Mint 17.2 Rafaela"
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=17.1
DISTRIB_CODENAME=rebecca
DISTRIB_DESCRIPTION="Linux Mint 17.1 Rebecca"
NAME="Ubuntu"
VERSION="14.04.2 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.2 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

これは基本的にテキストファイルなので、バージョンが確実にあがっているのかどうかの担保にはなりませんね。確率的にはだいじょうぶでしょうが。Rebeccaの文字列が残りますがこれはこれで正解のようです。気にしない。


リリースノート

http://www.linuxmint.com/rel_rafaela_cinnamon_whatsnew.php

参考ページ

http://mintguide.org/system/448-early-update-linux-mint-17-1-rebecca-to-linux-mint-17-2-rafaela.html




2015年6月17日水曜日

使い方(2) Vzエディターライクな、エディターの使い方 (2)

基本原則:EUC-JPなターミナル上で動かす

Vzエディターライクな、エディターの使い方 (1)NxEdit の続きです。

env LANG=ja_JP.EUC-JP な端末でないと日本語の文字列は正しく表示されない。いずれのターミナルでも同じ。gnome-terminal(ubuntu 14.04 mint17.1 mint17.2RC)については既に述べたので、rxvtの場合を説明する。

rxvt をeuc-jp で起動する。そのためには、たとえば、gnome-terminal で以下のコマンドを発行する。既述のロケール設定は完了していると仮定。

env LANG=ja_JP.EUC-JP urxvt

あたらしいWindowが uxrvt で開くはずだ。 私は zsh。プロンプト文字列「»」としているので、この文字が「損」という漢字プロンプトに置き換わる(文字化けである)。が、環境が変わっていることが容易に確認できるのでそのままにしてある。

  • (便利:この1行のみのスクリプトを~/binに設置する。どこからでも、rxvtでEUC-JPな環境になる。また、既に述べたgnome-terminal でのオブジェクト化(アイコン)をrxvtにも適用すれば同じような環境ができあがる。実行文字列は以上の通り。env LANG=ja_JP.EUC-JP urxvt だ。)

このエディターの内部処理とUTF-8の関係


NxEditは、内部処理がEUC-JP。文字コードがEUC-JP形式テキストであればそのまま読み込める。JIS,SJIS形式であればコンバートして読み込む。UTF-8は?

utf-8については、一時しのぎなのかパッチを書いてくださった方がいたのでありがたく利用させていただいている。ちなみに配布ソースとバイナリには実は当初から適用済みでああった。気がついた方はいるだろうか。ソースをみないとわからない。(秘密にするつもりではなかった。自分もほとんど利用していない。euc-jpにコンバートしてから、書き戻す習慣が先にできたので、あまり気にしていなかったのだ)

使い方はいたってシンプルだ。

ne -u utf-8.txt


-u オプションをつけて起動する。(もちろん、env LANG=ja_JP.EUC-JP にしたターミナルでないと化けるので注意)。

動作的には汎用ライブラリである iconv でEUC-JPに変換されてUTF-8が読み書きできるようになる。UTF-8での内部処理になったわけではない。あくまで、EUC-JPな世界のツールであることにかわりはない。"セカイ"は、EUCのままである。
 ファイル破壊の可能性はここにもあるのかもしれないし、ないのかもしれない。euc-jpが適切に扱えない文字が混ざると最悪ファイルが壊れる可能性があるらしい。それが何なのかはよくわからない。文字化け"要員"として歴史的に有名なSJIS半角カナチームについては、オリジナルの段階でも対策済みである。ソースにあったと思う。

だが、実際ファイルが壊れたことがあるので、euc環境でもオススメしません。私が期待しているのは、しれっとソース大幅修正してUTF-8化して、githubにあげてくれる人です。

2015年6月14日日曜日

使い方(1) Vzエディターライクな、エディターの使い方 NxEdit

GPLライセンスのエディター NxEdit を配布しています。ubuntu/mint 64bitに対応させました。起動は、mint 17.1、ubuntu 15.04(mate) 14.04.2 で確認しています。放置していたのでですが、はじめて具体の使い方を説明してみます。

◎制限事項と利用上の注意事項


ワイドキャラクターを扱えるフォーマットは、Shift_JIS(JISも) と EUC-JP です。
UTF-8は適切に扱えません。UTF-8はそのままでは使えません。だいじなことなので2回いいました。

別言すれば、アスキーファイルのみ編集できればいいのならそのまま使えばいいので、以下はほとんど必要がないくらいですが読んでください。だいじなのはあくまで日本語を使いたい場合の話です。

もうひとつだいじなことをいえば、スタッカブルなバッファの操作はとても気持ちいいということ。ALT+S で保存などのコマンドが設定できること。欲をいえば際限がありませんが、そのまま埋もれ消えてしまうのも残念なので、64bitバイナリ生成までは当方で実施しました。

本エディタは現状仕様でEUC-JPロケールで使います。ここだいじです。

UTF-8でなく、SJIS,EUCのファイルをどうぞ。


日本語を適切に扱うためにはSJIS(JISでも)かEUCのどちらかに変換する必要があります。
(ちなみに、VIMはUTF-8に変換して読み込んでいるようです)。

2015年の今、職業でITしていない日本人ユーザーにとって、Shift_JISかUTF-8エンコーディングのファイルさえ扱えれば、99.9%のニーズは満たせるでしょう。0.1%については考慮しません。


Linuxにおいては、日常的な保守作業、アスキー文字列だけの定義ファイル数文字修正などなら、そのまま使えばいいのではないかと思います。

前置きが長くなりましたが、簡単にいえば、Gnome系ターミナルなら、UTF-8で起動して、ターミナルのロケールをEUC-JPにして、このエディターを使いましょうということです。

Terminator になじみがある人はそれでロケールを変更して利用してもかまいません。好きなターミナルを使えばいいです。但しロケールの変更がめんどうだったりするとアレですね。保存が効かないのも困ります。

※とはいえ、品質にまったく担保はありません。ファイルが壊れることも
視野において、ご利用は慎重にお願いします。コンパイルしている本人ですら
十分なテストはしていません。自前でバックアップをとるようにして下さい。バグフィックスの予定はありません。パッチは大歓迎です。よろしくお願いします。

オリジナルの特徴

  • Vz エディタの主要な操作方法・機能を実装している
  • スタッカブルな文字削除アンドゥー
  • スタッカブルなブロックバッファー
  • カーソルの移動方向により二種類のブロックを使い分ける方向感応
  • なるべく視点が動かなくてすむカーソル位置保持
  • カーソルが行を離れるまで行を更新しない行編集
  • キーボードの操作を覚えさせるキーボードマクロ機能
  • ツインウィンドーのファイラーを装備
  • その時点の編集状態をそのまま保存するプロファイル機能
  • 動作が極めて軽快である
  • 漢字コードを自動判別する※(UTF-8時代以前の話)
  • シグナルなどを受けた場合、可能な限りプロファイルを保存終了する
  • 同じユーザーが複数の ne 使用時に、 既に開いているファイルを保護する
  • 環境変数 NE_TERM 及び TERM に合わせて独自の端末設定を行える

ドキュメントより抜粋しました。EUC時代に生まれたエディターです。


話は戻って、利用のためにはEUC-JPロケール環境も必要、次の手順を踏んで構築します。(15.04以降ではターミナルにロケール切り替えスイッチャーが搭載されていますので、ロケール作成も不要です。以下の大半は、14.04LTS/17.1ユーザーを対象にしています)

◆ja_JP.EUC-JPロケール ターミナル環境の構築


ロケールファイルを(なければ)作成する。一回のみコマンド発行。デフォルトではないはずです。15.04以降のgnome-terminal ではこの作業は不要です。メニューから切り替えてください。(今月末リリース予定のmint 17.2も14.04系なのです。17.02RCで確認)

sudo locale-gen ja_JP.EUC-JP

◆ターミナルをEUC-JPロケールで起動する。


◆その前に、新しいプロファイルを作成する。


ターミナルを起動し、編集、プロファイル、新規で作成します。

以下のコマンドと合せておいてください。EUC-JPにしておきましょう。


env LANG=ja_JP.EUC-JP gnome-terminal --disable-factory --profile=EUC-JP

プロファイルを切り替えて、日本語文字列のあるディレクトリで、lsしてみましょう。綺麗に文字化けしているはずです。それで正解です。utf-8で名前がついたファイルを見ているので、EUCというメガネからみると化けているように見えて正解です。色めがねというやつです。

ターミナルでEUC-JPプロファイルにした状態で、SJISなファイルを探して、ne ファイル名 としてみましょう。日本語が表示されていると思います。

◆汎用:便利に使ってみる。


うまくいくようなら、パネルやデスクトップにオブジェクト(アイコン)を作成します。

たとえば、こんなかんじのファイルを作ればいいのです。

まず、エディターで空ファイルを指定して開きます。

gedit ~/Desktop/NeX.desktop
以下の内容を貼り付けて保存。

----cut----
[Desktop Entry]
Name=NeX Editor Terminal
Comment=CJK Terminal plus
TryExec=gnome-terminal
Exec=env LANG=ja_JP.EUC-JP gnome-terminal --disable-factory --profile=EUC-JP
Icon=utilities-terminal
Type=Application
Categories=GNOME;GTK;Utility;TerminalEmulator;
StartupNotify=true
OnlyShowIn=GNOME;Unity;
Actions=New
X-Ubuntu-Gettext-Domain=gnome-terminal

[Desktop Action New]
Name=New Terminal
Exec=env VTE_CJK_WIDTH=1 gnome-terminal --disable-factory
OnlyShowIn=Unity
----cut----

デスクトップにどこかさみしげなオブジェクトができているので、クリック。
警告がでます。自分自身を信頼します。すると、起動可能なオブジェクトに変身します。
たぶん。

ここまで、15.04以降のユーザーは実質不要です。

コマンドラインでの操作


以後は、コマンドラインで、操作します。~/.ne 配下にカスタマイズファイルがあります。メッセージに関してはめんどうなので英語のまま使うのがおすすめです。

文字コード変換は、nkf コマンドが便利です。

日本語原稿.txt があります。UTF-8です。


nkf -g 日本語.txt
UTF-8
と返りました。

#SJISにします。
nkf -s --overwrite 日本語.txt
#読み込んで編集します。終了します。
ne 日本語.txt
#UTF-8に戻します。
nkf -s --overwrite 日本語.txt



gedit ~/bin/vz

#!/bin/dash
nkf -s --overwrite $1
ne $1
nkf -w --overwrite $1
exit 0
 

と3行ほどのバッチでいいのかも。コード判別して分岐すべきですが。


 
vz ファイル名
 
で使います。





入手先:

このブログ内で配布しています。ne nice editor と名前がかぶっているのでneを入れている方はご注意ください。アンイストールしておいたほうがいいかもしれません。最近も少し触ってコンパイルしなおしたので、gccのバージョンもあがっていますので、そのうちアップするかもしれません。

debをクリック。dpkgまかせで導入します。本ブログにあります。

配布サーバを変更するため、バイナリーは一時配布停止します。申し訳ありません。

ubuntuにインストールできますから、mintなどubuntu派生Distributionでも使えるかと(使えます)。.debをクリックして、 ソフトウェアセンター(またはDPKGツール)から導入してください。品質云々が警告として表示される場合もあります。やめることもできます。完走ソース をDirectoryごとアーカイブしています。
転んでも泣かないを念頭によろしくお願いします。とんでもないことが生じるかもしれません。実際、化けた状態で無理やり日本語入力しようとすると変になります。その結果ファイルの修正が必要になったりします。人によってはこれを壊れたというのかもしれません。また、使えないキーアサインがありますね。あれ、どうするんだろう?! とか、既知の問題だらけです。


Vzエディターライクな、エディターの使い方 (2) に続く。

おまけ

ターミナル利用の際には、env VTE_CJK_WIDTH=1 と併用するといいかも。あるいはLTSでない最新環境に乗り換える。

15.04搭載gnome-terminal ではロケール切り替えは圧倒的に楽になったが、「あいまいな文字幅」の文字表示が日本人としてはやはり納得できない。大半の日本人とっては曖昧ではなく固定幅として染み付いているのだけど。「曖昧」なのは国際的視野にたった場合なのでしょうね。


ロケール毎に文字幅が選択できれば解決するのだろうが、ここまで来ると伝統的不具合と考えたほうがいいのかもしれない。たとえば、◉◯。治るといいなぁ。^^;  ✪はまっとうに使えるようだが、あまり馴染みがない。


cf.
http://www.wheel.gr.jp/~dai/fonts/pcf_on_ubuntu.html

CJK Terminal :ワイドキャラクター文字幅の問題解決への糸口(当時)
https://gist.github.com/sgk/5991138

nkf コマンド
http://takuya-1st.hatenablog.jp/entry/20100511/1273585953 が整理されていてわかりやすいです。

2015年6月13日土曜日

Zip の憂鬱。(1)文字化け、時々コードページエラー。そして、解決した。


基本は、ターミナルで展開するか、WINEでWindowsのフリーツール使うほうが速くていいかもしれません。3年前に書いた記事ですが、うまくいっていたんですよ。はい。

参考:マウスやコマンドライン・ターミナルでの操作


    などもおすすめです。

    Zip:文字化けと正しく向き合う。冗長な序論

    zipをLinux上にもってくると化けてしまう。――Windowsとのやりとり(なんと現代でもです)やDOS、OS/2全盛期(20年前です)のアーカイブでどうしても解凍時化けてしまうzip形式アーカイブファイルがあります。エラーのたまに解凍すらできない場合もあります。私の場合、それは東ヨーロッパ言語であったり、シフトJISであったりします。ロシア語でもそうですし、スペイン語のスペシャルキャラクターでも同様です。ギリシャ語も化けますね。詳細はわかりませんが、GBでも化けるコードページがあるようです。英語なのに。

    自分の場合は、シフトJISがらみです。Windows シフトJISがなぜかいまだに主流なので、そのせいですね。過去のShift_JISのしがらみに僕らは縛られています。日本政府はシフトJIS撲滅に動き、ユニコードへの道を適切に開くべきです。ローカル過ぎる文字コードを利用しつづけるのは「いかがなものか」なのです。技術論なんてどうでもいいのです。

    さて、ターミナルエミュレータで処理できればいいのですが、左手を怪我している時はキーボードなしで操作したい。だらだら操作している時はGUIアプリで要するに処理したいわけです。本稿はいきなりGUI操作、そこまでは書きません。ターミナルから当該処理をすこしづつ改善していった自分の経緯を記録したいからです。


    さて、あと何十年たてば、このくだらない悲しみから、逃れることができるでしょうか。


    (補足)
    • ネットで流通しているファイル形式で忘れてならない形式にRARがあります。rar は優れていて、Windows下でシフトJISファイル名でパッキングしても、LinuxやMAC OS X(たぶん)で化けることはありません。ファイル名コードページの格納のことを考えているからだと思います。つまり、zipさえ対策すれば事実上アーカイバーの文字化けに悩むことから日本人Linuxユーザーは開放されることになります。
    • 逆の状況はどうなのか? と疑問を持つ人もいるでしょう。つまり、UTF-8ファイル名を格納したアーカイブをWindows7にメール送付なりした場合です。zipはWindows標準サポートです。もちろん化けます。化けますが化けません。先日検索していたら、マイクロソフトから公式なパッチが出ていました。それがあたっていれば、UTF-8 ZIPの文字化けはWindowsでは生じません。その上、Windowsの日本のユーザーの多く(特に個人ユーザー)は、ほぼ間違いなく(よりどりみどりの)サードパーティのアーカイバーを利用しているはずで、それらは考えられているのか? 文字化けしません(ちょっと試した範囲ですが)。きっとOS標準のバグだったものに気がついていない人が多いと思います。検索結果からそう判断しました。MACの人も同じ悩みはもっています。
    それ find で!! コマンド1つで、全圧縮形式を解凍する。混沌を求めて。unar unp

    トラディショナルにコマンドラインで攻めてみる。

    unzip コードページ指定

    unzip -Ocp932 file.zip


    たとえば、zshなら、~/.zshrc に

    alias unzipj="unzip -Oshiftjis"
    #alias unzip932="unar $1"

    とでもしておくと、Windowsユーザーが作ったシフトJISなZIPアーカイブが、
    unzipj というコマンドで解凍できます。-lつけるとリスト表示。

    2行目は後述unarです。実はこちらのほうがよく動くのでおすすめだったりします。MAC由来のようです。

    コマンドライン解凍。コードページを指定しているだけです。(cp932としたほうがいい気がします。根拠はありません。このツールでは等価なのかもしれない)

    汎用解凍兵器 unar


    多様な圧縮フォーマットに対応した汎用兵器であるunar(4文字です。not unrar) OS Xの世界の発祥っぽい。

    unar file.zip

    sudo apt-get install unar
    (導入。lsar も同時にインストールされます)

    とても使い方が簡単です。オプションなしでほぼ希望通りです。いまんとこ高精度でコードページを自動判別しています。unrarではありません。だいじなことなので2回言いました。

     2015年6月13日現在、1.8.1が最新です。さきほどコンパイルしてみたら、なぜか (unzipコードページ指定でも化けているせいで解凍できない)不具合zipが綺麗に処理できるようになりました。

    そのうち unar lsar 1.8.1をストレージ倉庫においておきます。

    アメリカ人が好きそうな雑食性万能ツール upnunp

    間違えて長いことupn と記述していました。

    sudo apt-get install unp

    unp file.zip

    sudo apt-get install unp
    (導入)

    ヘルプ
    unp --help

    これも便利なスクリプトです。万能解凍スクリプトです。適切なバイナリが導入されれていれば(最近のLinuxディストリビューションではそうですね)、そのまま使えます。なんでも食います。専用スパナでなくモンキーレンチというイメージです。


    僕の場合1行書き換えて使うと便利なunp。どんなアーカイブフォーマットもこのスクリプトに食わせてやればだいじょうぶというコマンドです。unarはバイナリですが、こちらはPerlで書かれた正統?なツールのフロントエンドスクリプトです。

    更新  (unzipのバージョンを確認) 

    unzipは、-Oオプションが有効なものであれば使えます。 ubuntuやmintなどの日本語チーム推奨パッケージをいれていれば自動的にはいっていると思います。以下のヘルプが見つかればOKです。目視でもよいですが。


    次の行をターミナルに切り貼り。Enter。
     
    unzip | grep -P 'O CHARSET.*?DOS.*?OS\/2'

    -O CHARSET  specify a character encoding for DOS, Windows and OS/2 archives
    という表示がヘルプに見つかれば対応バージョンです。

    以上で判別できたのは昔の話で、最近では日本語化をほどこさなくても、当該オプションのあるunzipが導入されている気がします。日本チームの方々が作成していたいだいているのは、たとえば、

    unzip_6.0-10~5.52~ja2_amd64.deb 

    です。差異については調べていません。jaリポジトリを有効にするとanthyなどが仲間になりたがります。当方では、それを避けたいので有効にしなくなりました。


    第1回まとめ


    ここまでで、ターミナルでのシフトJIS ZIPの文字化けが正しく扱えるようになりました。1日1個程度のやりとりならこれで困ることはないでしょうね。

    次回は、以上を踏まえ「nemo/caja/nautilusの右クリックに組み込みたい」及び「さらにGUIで安直に操作してみたいよね」です。

    え?!  なんですって。
    「WINEでいいんじゃね?」
    はい、解散、解散。

    追記 GUIツール(実質の第2回)

    14.04.2 + Cinnamon(Nightly build) で、Zip文字化けを確認するためのテストファイルを探す。
    http://www.hosino-kanata.com/kakusi/bjy/bjy.zip
    (作者がフリーにされました。「ブラックジャックによろしく」)。手持ちに文字化けするZipファイルがあればそれで確認してみればよいです。これはファイルが300MBと大きめです。


    • アーカイブマネージャ、文字化け。☓
    • Engrampa書庫マネージャ、文字化け。☓
    • Xarchiver 文字化けしない。 ○

    (騙されたと思って)Xarchiverを入れてみるといいかもしれません。少し動作が鈍いですが、文字化けせずに日本語ファイル名が解凍できています。誤報、下部に説明。 


    ▲上から、Xarchiver , アーカイブマネージャ、Engrampa書庫マネージャ


    Wineの場合 - Explzh for Windows 日本人でWINEなら個人的オススメ、使いやすいです。生Windowsでもオススメ。


    (騙されたと思ってと書いたのは、別の区画からたちあげたバージョンの違うubuntuではうまくいかないから。それと一時Xarchiverの ソースをいじってコンパイルしたのを入れて文字化けが治ったことがあって、ただし動作が変になったのでレストアしたはずだったりとか、よく覚えないことが ありまして、……ちゃんと確認していません。)
    追記:やっぱり特定環境でしか再現しないので、自分であてたパッチでコンパイルした結果、コードページ処理が有効になっていますね。ソースは整理していないので、どれがどれやらわかりません。コマンドで解凍するほうが楽なので、長期放置。

    tt(The Trusty Tahr)はこの0.5.2で、vv,ww,xxでは、0.5.4がインストールされると思います。 https://launchpad.net/ubuntu/+source/xarchiver







    2015年6月8日月曜日

    convmv ファイル名の文字コードを変換する。つまり、リネーム。

    convmvで shift_jisから utf8 にファイル名文字コードを変えることができる。相互にも可能である。便利である。

    ubuntu系だと、
    sudo apt-get install convmv

    でインストールできる。

    さて、ひとつ今日気がついたことがある。

    ファイルシステムが違うと動作が違うというか、NTFS(fuse)上では目論見通りに動作しないのだ。ext4上では期待どおり動作している。


    コマンドはこれ。前後を入れ替えると逆に変換してくれる。SIJSで名前がついたfile.txt をSJISからUTF-8にするコマンド例。

    % convmv -f shift_jis -t utf8 file.ext
    これで確認して、OKなら、--notest を末尾に加えて、実行(最終リネーム)という手順が普通だ。

    あえて文字化け?で書き込むために、まずUTF-8エンコードされたファイル名のファイルを用意する。


    touch "【山の声〜ある登山者の追想】後編.mp3"
    touch "【山の声〜ある登山者の追想】解説.mp3"

    2つのファイルができました。ゼロバイトファイルです。
    これで一回文字化けさせるために、UTF-8からS_JISに変更します……
    コマンド略。……
    (そして、以下の、◆◆◆?◆は、実際の文字化けイメージ。Shift_JISとしては正しいです。ファイルが壊れているわけではありません)


    % convmv -f shift_jis -t utf8 *.mp3 --notest

    mv "./◆◆◆?◆.mp3" "./【山の声〜ある登山者の追想】解説.mp3"
    mv "./◆◆◆?◆.mp3" "./【山の声〜ある登山者の追想】後編.mp3"
    Ready!

    これで戻りました。但し、冒頭で記したように、fuseなNTFS上ではうまくいかないようです。なぜだ。fuseで使ってきて理解不能でした。

    2015年5月31日日曜日

    ESET NOD32アンチウイルス for Linux Desktop のエラー対策

    ESETをUBUNTUに導入したらエラーがでてなんのことやらさっぱりわからない。そもそも使えるものなのかわからない。最初から動かないとは何事だとお思いの貴兄に。


    sudo gedit /etc/ld.so.preload

    一行目削除。以下に置き換え。(1行だけのファイルです)

    /opt/eset/esets/lib/libesets_pac.so


    おわり。再起動。インストーラーが未修正? なぜか? 少なくとも4年前から壊れたままです。パスが違うだけなんですが。不思議ですね。アンチウイルスソフトの信頼性が揺らぎます。がんばれ。


    以下のエラー時にお試しください。


    ERROR: ld.so: object 'libesets_pac.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.


    2015年3月31日火曜日

    VZ editor Clone , wordstar like

    http://poor-user.blogspot.jp/2015/06/vz-nxedit.html

    使い方説明を具体的に記しました。

    以下、配布及び過去のページ。過去ページが飛びました。

    軽さの極限 VZ editor Clone な Linuxエディター

    先ほどブログ操作していてなぜか?ブログのエントリーDBが壊れてしまった(IDが一致しない)ので、再掲します。(少し泣いてる) 表示されないようになりました。これはバックアップから戻したものです。なぜか、この記事はこのブログの人気エントリーBest5なのです。だから放置せずに再掲しました。

    たぶん興味を示している方が多いのでしょう。検索ワードは、「vz editor linux」 あたりが多いかと思います。wordstarかもしれません。一言で言うと世界で一番危険なエディターかも。

    2年前にパッケージしたdebで、ubuntu 14.2,mint 17.1に導入できました。2015/03/31追記。

    これは不用意に使わないほうがよいかもです。あまり使わないでください。大事なことなので2回いいました。

    さて、VZ editorライクなFreeBSD/Linuxエディターとして、公開されている ne のソースの当方修正ソースを公開します。――大元は2000年が最終タイムスタンプのようです。

    思い起こせば12年かな――ソース修正、コンパイルして限定的に使っています。仮にこれを ne editor 2012(仮)+3としておきます。i386ではソース修正せずにもっと長い間利用してこれましたが、AMD64環境ではどうしてもコンパイルで転けるためソース修正に迫られました。

    In Japan, Vz editor is a editor that was very popular in the past. Unix editor that makes the best use of its operability. Testing in Sandbox only. It is very light. Full customization. However, does not correspond to character codes UTF-8.

    I'm glad to give me a chance to take over If you will respond to UTF-8.
    Need not correspond to Japanese character code itself.

    ソースコードとバイナリパッケージ(debian形式.deb)は下リンクにあります。

    ne (NxEdit)がオリジナルの名前ですが、ne は既に debianなどでも著名で標準リポジトリなので、区別が必要。バイナリ生成なども、NEXにしたほうがいいでしょうね。 とりあえず、主要パッケージのコマンドで、nexはないようです。

    なぜいまだに使っているのか


    軽さの極限。とても軽量です。びっくりするほどです。Vzなキーアサインが基本となっており使いたいようにいじり倒せます。TerminalのKeyboard Shortcut をoffにしておくとALTなどが使いやすくより便利です。もともとはよくできたきちんとしたアプリケーションなのです。

    AMD64


    AMD64環境にあわせてダーティな(=とても下品といわれる)Source修正を若干ほどこした以外はほぼVectorで公開されている作者のSourceと大幅な変更はありません。

    i386

    i386であれば修正は必要なかったと記憶しているもののあいまいです。

    Dangerous 4年前


    たぶんもう誰も使ってない?かもしれないのですが、こういう人もいるということでネット上でお知らせしてみることにしました。

    キーアサインの自由度など本家並の柔軟性でとても使いよいですが、いくつか致命的な不具合があります。決定的なものは;

    • 文字コードの処理の問題
    • それに伴いファイルが壊れてしまう現象 ※日本語ファイル

    です。

    些細な欠点としては、neという有名どころのパッケージと名前がかぶっていることがあげられます。
    ですから、間違っても、sudo apt-get install ne などとしないようにしてください。名称は変えたほうがいいでしょうね。たとえば、nexなどに。

    よって、安全を考慮しAscii text 定義ファイル編集限定で利用しています。それでも怖い。日本語文字列が入っているとファイルそのものが壊れる可能性があります。心配です。

    symboliclinkをvzにしたり、bash aliasで別名定義しておくと気分は、vzです。

    このブログの隠れた意図:ne editor 2012(仮)+3の今後をみすえて

    ne editor 2012(仮)について、お知らせしてみる理由は、どなたかが文字コードに関わる修正をしていただけるかもしれないというあわい(小さな)期待です。もともとがEUC時代に開発されたもののようですので、UTF-8標準時代にはいくつか修正が必要なのでしょう。あるいは文字コードを切り替えてつかうようにすればいいのかも。

    明言しておきますが、当方に修正やバグフィックスなどを1%ほども期待しないでください。
    おそらく現在はMaintainer不在(事実上のディスコン)の状況だと思います。勘違いであればご指摘ください。また、最終Maintainerの方への問い合わせなども控えたほうがいいのではないかと邪推します。

    DOS時代でもないわけで、文字コード判別も必要なく、UTF-8だけに対応すれば今の時代は問題ないような気もします。EUCもS-JISもいらない。必要なら標準エディターなどで対応すればいいわけで。どなたか奇特なスーパーユーザーがソースを修正してくれまいか、と期待しています。

    また、Keyboardmacroも必要ないでしょう。ファイラーすらいらない。指の馴染みと軽さとvzらしいスタッカブルなバッファ/クリップボードが最高です。

    そもそも、gnuツール、perlなどテキスト処理系が充実している環境で使っているわけですから。エディターに全部(愛または世界)を求めるのは、口にはできないあのエディター系好きな方たちだけでいいのではないかと。

    そういうわけで、私にはスキルも時間もないため、実現できそうにないということだけは改めて記しておきます。一度はUTF-8対応化にチャレンジしてみて諦めました。機能を絞れば手間と修正も減りそうかなとは考えたんですけね……ただただ、力不足です。という以前にC開発経験はおろかプログラミング経験もありません。幼稚園程度かな、と。

    できる方なら、30分ぐらいあればできちゃうんじゃないかなとも。UTF-8対応のツボみたいなものをご存知なら。

    ne editor 2012(仮)+3:

    Source i386,AMD64,Debian Package,
    ubuntu 10.04,10.10,11.04,11.10,12.04,12.10 to 14.04.2,15.04
    mint 14 to 17.1
    VirtualBox, VMWARE等のSandBoxで試しましょう。

    ubuntu14.1/mint17.1 で導入、起動確認。

    Google Drive
    https://drive.google.com/open?id=0B3dSQTF-eLPscm53MUt6ZURwTm8

    このソースコードで、ubuntu17.10まで通ることは確認しています。一時的に
    配布サーバを変えるため公開中断しています。

    i386は、10.04,AMD64は、12.10でCompile。GPL Licence Ver2.0 .
    開発環境は、コンパイル環境に依存しており特に特殊なことはしていません。
    大きな点は、64bit化を施したことです。まっとうなデベロッパーなともだちに
    聞いてみたら、よい64bit化手法ではない!! と言われました。
    ソースは見せてはいません。電話での雑談です。

    そのあたりを念頭にお願いします。繰り返します。転んでも泣かないを念頭によろしくお願いします。とんでもないことが生じるかもしれません。

    hitobashira@gmail.DeleteMe.com

    If you wished to send mail for me, You should remove "DeleteMe".
    デリートミーを削除しないと届きません。



    2015年3月26日木曜日

    Audacious で音が割れる場合に試すたったひとつのこと

    大変すぐれた、音楽再生ソフトウェアであるAudacious

    Linuxの音楽プレイヤーとして、簡素という意味で好みの一品なのでですが、一度音が割れてしまって、解決不能になったことがあります。いろいろ、英語サイト含めて検索してみたのですが、どうも釈然としない。解決もしない。バージョン違いを導入してみたり、パージしてみたりの繰り返し。

    とりあえずイコライザを有効にするとだめになってしまうみたいですね。

    解決方法


    解決方法は、単純に、Audaciousが起動していない状態で、

    ~/.config/audacious

    をまるごと削除。たったこれだけです。とにかくターミナルを開いて/ALT+F2でもいいのかな。


    rm -r ~/.config/audacious/


    再度、Audacious を起動します。治りました。

    いろいろ試す前に単純な作業なのでお試しください。気になる方はバックアップとっておけばいいんですから。起動で再作成されますのでほぼ安心です。再設定も難儀ではありません。

    確認はしていませんが、個人的推察としては、
    plugin-registry
    というファイルのみ削除すればいい気がします。これが壊れているのではないか、と。
    また、aptのpurgeは、マニュアルでは、設定ファイルも削除するという意味の説明がありますが、あれは嘘です。あるいは、対応していないアプリもあると覚えておいたほうがいいようです。また無駄な経験値があがってしまいました。

    そもそも、home配下の定義ファイルを削除して確認してみるというのはお約束のひとつでした。不覚でした。自戒をこめて記します。

    また、QTバージョンは使っていません。文字化けするからです。なかったことにしています。フォント指定がうまくいかないし。ま、いいっかです。

    日本語文字コードについて

    Audacious 2月末版 3.6以降 でパーフェクトに近いですね。CP932を正常認識するという意味です。

    唯一発見した問題はWinamp風スキンモード利用で楽曲名のエンコードに失敗しています(もしかするとフォントだけの問題なのかもしれません)。

    他のプレイヤー、Bansheeなどで盛大に文字化けする楽曲ファイルも綺麗に日本語表示してくれます。Clementine も文字コード・エンコードはできがよいです。こちらも一度試してみるといいかもです。

    H.265 HEVC with MPV , SMPLAYER. Ubuntu/mint で再生 その2

    H.265 HEVC 動画は 軽量MPV , SMPLAYERで再生


    【追記 2015-06-30 】15.04ではHEVC再生に何も苦労はありませんでした。気がついたら綺麗に再生できていました。LTSバージョンにこだわらないなら、15.04系列にしましょう。mintに関していえば、17.2(rafaero)にアップグレードしても本家14.04系列同様で結果は芳しくありません。ubuntuMATE 15.04で確認。

    筆者は14.04LTS系列でどうしているかというと、
    • MPVがお気に入りになったので、困っていない。
    • SMPLAYERのエンジンをMPVにして、HEVCを食わせているので困っていない。
    結果、困っていません。MPV最高です。

    14.04LTSでのHEVC再生のお話

    唐突ですが、VLCとTOTEMでは再生できないままにしておきましょう。それが2015年3月26日時点での幸福かと思います。もし、何か工夫で可能ならぜひ教えてください。

    結論的には、こうしました。当方の場合(mint cinnamon 17.1 新規導入)

    ご確認ください。https://launchpad.net/~mc3man/+archive/ubuntu/trusty-media

    ターミナルを開いて(CTRL+SHIFT+T)、下記コマンドをマウスで、ドラッグ アンド ドロップ、エンター。楽ちんです。

    sudo add-apt-repository ppa:mc3man/mpv-tests
    sudo add-apt-repository ppa:mc3man/trusty-media





    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get dist-upgrade

    sudo apt-get install mpv smplayer
     
    MPVはgitしたソースを自分でコンパイルしたバイナリよりこの方のモノのほうがうまく動きました。音がでなかった。

    参考、削除


    以下は、パージしました。

    sudo apt-add-repository purge ppa:strukturag/libde265
    sudo apt-get purge gstreamer1.0-libde265
    sudo apt-get purge vlc-plugin-libde265

    旧ページ


    http://poor-user.blogspot.jp/2015/02/h265-hevc-ubuntumintdebian.html

    2015年3月24日火曜日

    HDMIオーディオを無効にする。Disabling ATI, NVIDIA and Intel HDMI Audio

    モニター、HDMIオーディオを無効にする方法(2017年7月の冴えた方法を追記)

    方法と結論:1行書き足すだけです。

    ブラックリスト定義ファイルを編集、最後に一行付加します。

    sudo gedit /etc/modprobe.d/blacklist.conf
    をエディターで開いて、最終行に次を書き込む。保存。

    blacklist snd_hda_intel

    #AMDチップセットでも、intelです。ドライバの名前です。


    終わり。再起動で確認。デジタル出力が無効になります。図でみるとわかりやすいと思います。ubuntu系もArchlinux系も同じです。

    (Before)➡1と2がUSB-DAC、3 Displayport(モニターのオーディオ/内部オーディオ)、4 S/PDIF
    (After) ➡3と4がなくなっています。何かの弾みでも切り替わりようがないです。

    多くの方はこれで問題ないはずですが、S/PDIFを活用している人はどうなるでしょうか。それも無効になってしまいます。ほとんどいないとは思いますが当職には問題です。

    も、ひとつ、饒舌な余談ともう一つの方法:
    こちらがあきらかに冴えてる?!


    さてここで問題です。DisplayportまたはHDMIケーブル で4Kモニターに出力しています。もともとHDMIオーディオはマザーボード(APU/AMDなので)に搭載されています。そして、さらに外付けRADEON R7 360を出力に使うわけですから、

    単純に、HDオーディオは内蔵とGPUのそれとのふたつになります。

    後者のみまたは前者のみを無効にする方法を知りたくありませんか。当方の結論としては、ありませんでした。いまんところですが。もし方法がわかったらぜひ教えてください。追記:わかりました。

    alsa/pulse のドキュメントを読んでいてやっとひらめいた。世界でこのページだけです。このソリューションを書いてあるのは(たぶん・笑)。ソースコードみればなんでもわかる人にはわかるのでしょうけれど。



    この状態の時 aplay -l
    **** ハードウェアデバイス PLAYBACK のリスト ****
    カード 0: Generic [HD-Audio Generic], デバイス 0: ALC892 Analog [ALC892 Analog]
    サブデバイス: 1/1
    サブデバイス #0: subdevice #0
    カード 0: Generic [HD-Audio Generic], デバイス 1: ALC892 Digital [ALC892 Digital]
    サブデバイス: 1/1
    サブデバイス #0: subdevice #0

    こうなれば勝ち cat /proc/asound/cards
    0 [Generic ]: HDA-Intel - HD-Audio Generic
    HD-Audio Generic at 0xfeb00000 irq 16
     

    当方の場合は、純粋なトスリンクケーブル経由でのS/PDIFがほぼメインのため、100%デジタルが否定されると困ります。よって、モニターの変なスピーカーから音を出さない=Displayport/HDMI経由の音声出力のみ無効にできればいい、というわけです。
    「勝ち」でなければ、ずらずらーーーとHDMI音声のリストが並びます

    モニターの音声出力を無効にしつつ、デジタル出力(光デジタル)は有効のまま活用する(当方の理想)

    結論はこれ。次のファイルに1行書き足す!! modprobe.conf
    編集するファイル
    sudo gedit /etc/modprobe.d/modprobe.conf


    具体事例1) AMD APU/A8でRADEON R7_360の場合(かつての環境)
    options snd-hda-intel enable=1,0
    サウンドデバイス構成が下記と異なります。

    具体事例2) AMD Ryzen7 でRADEON R7_360の場合 ※当方環境ではubuntu,archlinux,manjaro 共通。
    options snd-hda-intel enable=0,1
    HDMI audio が消えました。antergosの場合。

    大抵、空ファイルだと思いますので、上記の行を環境に合わせて貼り付けてから、再起動してください。番号は調整してください。カーネルパラメータに食わせる方法があるようです。


    そのうち丁寧に手順書きますがこれでわかっていただけるかと。今の時代こそ、知りたい方が多いと思うので書いておきます。音声がユーザーの制御下にないと深夜の悲劇を生みますものね。笑)

    ちなみに、W10のAMDドライバインストーラーはアホなので、無効にしていたモニターをオンにして、再起動するバカさかげんですね。誰かクレームつけてください。世界で100万人は被害者がいると思う。

    蛇足::この頁は2年前に書いた頃はほとんどアクセスがなかったのですが毎日急にアクセスが増えてきたのでびっくりしています。HDMI接続が増えてきたことと、4Kモニター利用者が増えてきた傍証になる気がします。

    以下蛇足。いまでも通用しますが、ここまでの通りにすればうまくいくので読む必要はありません。当方の記録です。

    0)状況:最近HDMI接続で4Kモニター使う人が増えてきたかもなので、ニーズが目立ってきた気がする。


    モニターにHDMI接続しているものの、音声は使いたくない。音は出したくない。(Muteでは安心できない。深夜の自宅で何らかのはずみで音がでるのは困るなど...)


    自分の場合、USB DACがメインです。DAC電源を必要に応じてonにして使います。それ以外は無音または、A2DPで使います。


    当然ですがマザーボードBIOSでオンボードサウンドデバイスは無効にしHDMIオーディオも無効の設定にしています。このBIOS設定で、Windows7ではHDMIオーディオが意図通りに無効にできます。しかし、ubuntu/mintでは、デフォルトで有効でした。これがどうしても美意識的に好ましくなかったわけです。 ATIのマザーボードです。美意識的にです。

    1)ファイルを編集します。


    ブラックリスト定義ファイルを編集して最後に一行付加します。
    sudo gedit /etc/modprobe.d/blacklist.conf
    以下を最終行に付け加えます。(最終行の必要性はないと思いますが)
    blacklist snd_hda_intel

    2)効果の確認


    リブートします。サウンド設定で確認。何もなければ「ダミー出力」になっていると思います。それが期待通りです。

    3)蛇足


    もともと
    cat /proc/asound/modules
    では、snd_hda_intel


    という文字列が見えているはず。
    上記手順(1)を踏んでリブートし、かつUSB DACを電源onすると

    cat /proc/asound/modules

    1 snd_usb_audio


    という具合に、USB DACが自動認識されます。他のデバイスはありません(ダミー出力状態)。これが求めていた状態です。Bluetooth A2DPも使っているので、使わないデバイスがあるとうまくないのです。サウンド出力の切り替えは、数秒でも手間。

    ※但し、当方の、USB DAC ではサウンドの出力先がふたつになるのは以前からです。
    デジタルS/PDF、とアナログ出力が加わります。後者も同じ意図からなんとかしたいです。(現在はどうでもいいですが)

    ここに限らず、

    http://techgage.com/news/disabling_nvidias_hdmi_audio_under_linux/
    askubuntuなどでもまったく同じ解決策が提示されています。典型的なニーズなのでしょうね。


    ※当方のUSB Audioは以下の通りです。WindowsはもちろんLinuxでもドライバ追加は不要です。間違いなくMAC OSXでも不要のはずですね。

    cat /proc/asound/cards

    1 [PCM2702 ]: USB-Audio - Burr-Brown Japan PCM2702

    旧いチップだなぁ。

    2015年3月9日月曜日

    Bluetooth A2DP Headphone デバイスがうまく接続できない場合

    参考:pulseaudio が見つからない。A2DP接続は完了するが音がでない。16.04LTS

    微妙におすすめ。2017年版 A2DP Bluetooth headphone のスムースなシンク切り替えツールを公開してみました。
     

    14.04LTS Bluetooth A2DPが有効にならない場合。ubuntu/mint




    以下、14.04LTSの際に行っていた手順です。16.04LTSでは当方の環境では以下の
    /etc/bluetooth/audio.conf はありません。
    手短に。

    sudo gedit /etc/bluetooth/audio.conf

    以下のファイル内容に差し替えるか、書き換える。オリジナルは保存しておいてください。
    A2DPで正常に接続するが機能しないトラブルがこれでなくなりました。
    幸運を! 正しい記述かどうかは自信はありません。いろいろ見たものを
    最終的には独自に試行錯誤してみたものなので。解決策にゆらぎがあります。
    15.04,15.10はOSインストール中に、Bluetoothで音楽再生できます(=つまり、A2DPで接続されているってことです)。

    SONY MDR-ZX750BN で試行。

    幸せになれるかもしれない呪文。
    pactl load-module module-bluetooth-discover
    sudo service bluetooth restart

    sudo killall pulseaudio

    ※参考 pactl load-module module-alsa-sink device=bluetooth

    $ sudo apt-get install pulseaudio pulseaudio-module-bluetooth bluez-audio pavucontrol bluez-firmware bluez-tools blueman

    以下設定ファイル

    2015年2月26日木曜日

    sed をやめて perl にしよう。perl sedのススメ 文字列置換・一括

    sedは起動にも使われていたりシステム全体に関わっていたりするので、sedを削除したりリネームするわけにはいきません。sedはなくてはならないツールです。

    ただ、正規表現の文法はperlでいいよね派なので。覚えることは減らしたい。方言は減らしたい。

    zsh なので、.zshrcに

    
    
    alias psedbak="perl -i.bak -pe"
    #perl -i -pe 's/(123)/${1}456/' メモ
    という記述をいれています。-iで上書き、-i.bakとするとその拡張子(bak)でバックアップが作られます。これは古典的SEDにはない機能です。

    abc.txt には、Doctor という文字列があったとして、

    $ perlsed 's/doctor/Dr./' abc.txt

    で一括で変更できます。この記述内容をperlの正規表現で詳細に記せるので便利なわけです。sedの文法は忘れてもいいです。私はほぼ忘れたいと思います。

    Dr.James Brown male
    Dr.Ann Esex female
    という医師名簿テキスト1.txt があって、男性にMr. と女性にMs.とつけ直すとすると
    perlsed 's/^(Dr.)(.*? )(female)$/Ms.$2/' 1.txt
    perlsed 's/^(Dr.)(.*? )(male)$/Mr.$2/' 1.txt


    と2回繰り返せば複雑な記述をしなくても処理できますね。
    一行でもいけるでしょう。

    私が日常必要としているのはこの程度なのでsedでもいいわけですが、perlの作法だけ気にすればいいので結局楽かなと思っている次第です。

    ubuntu/mint rename コマンドは、perlなので超便利。初心者こそ試してみるべき。

    以前はこのRename(Perl/CPAN)だったのですが、現在のディストリビューションはGNUユーティリティがデフォルトではいっているケースが増えたような気がします。ですから、以下の記述はあくまでPerlで作られたRenameコマンドです。

    一括でファイル名を変更したい。
    置換には正規表現が使いたい。
    エレガントに処理したい。(=楽したい)

    その答えがrenameコマンドです。

    mv使うとか、for で処理するとか。それはおいておきましょう。いまどきエレガントと言えるかどうかは別として。議論はしません。

    さて、

    abc.txt AAAabc.txt があったとして、

    $ rename "s/abc/あいう/" *.txt

    とすれば、2つのファイル名abc部分があいうに置換されます。

    肝は、「強力なperlの正規表現」が使えるということです。これは美味しいです。

    覚えておいて損はありません。

    使いこなしのためにというよりむしろ泣かないために:

    rename -v で成功結果を表示
    rename -n では実際には置換しない。失敗しないためにはこれを覚えておきましょう。
    -fでは同一名称でも強制的に既存ファイルを上書きします。

    man rename でも確認できます。
    実態は、perlのスクリプト。


    [20150106]全角半角ESC入れ替える(0105 Ver.).desktop3

    というファイルがありました。

    $ rename -n "s/\[.*?\]//" *.desk*3
    [20150106]全角半角ESC入れ替える(0105 Ver.).desktop3 renamed as 全角半角ESC入れ替える(0105 Ver.).desktop3

    というように、ファイル頭の[2015うにゃ]が削除されていることがわかると思います。

    rename -n 's/(\[.*?\])(.*?)(ESC)(.*?)/$3$2/' *.desk*3
    renamed as ESC全角半角入れ替える(0105 Ver.).desktop3
    となりますね。

    というふうに、perlの基礎で対応できますから、便利です。

    シェルはzshを使っています。bashとたまに動きが違います。

    2015年2月25日水曜日

    強引なインストール miniDLNA 1.1.4 deb 1.1.5 deb on Linux mint 17.3

    よほどの理由がない限り、メンテされているパッケージを使うべきという原則を忘れずに。配布終了しました。

    配布終了しました。以下記録用メモとして残します。

    不具合があればアンインストールしてください。^^; 導入はクリックするだけ。環境は、14.04.1/17.1 64bit AMD64 です。その他設定については、これまでの記事をご覧ください。右上でminidlnaで検索するといいかも。

    minidlna1.1.5についての補足

    起動スクリプトがうまく作られないので(中にありません)、インストールするというよりも、既存1.1.2などでうまく動いていれば、minidlnad のみバックアップして、この中のminidlnadと差し替えてみてください。だめなら戻してください。1.0.0の頃からお使いの方は自分で起動スクリプトを作成したはずなので、それと同じ手順を踏めばよいのです。


    通常インストールは、ubuntu 15.04では問題がないので、次のLTS(16.04,mint18)ではだいじょうぶかなと思います。追記:だいじょうぶでした。

    バイナリを差し替えました。ファイル名は同じですが、コンパイル環境が少し違います。


    Universal media server がトランスコードする場合(もしない場合も)はおすすめです。Windowsでは、WMPとUMSで、Linuxでは、MiniDLNAとUMSで、かなりハッピーな生活を送っています。とりわけUMSは毎月ブラッシュアップされていくのでとても楽しみです。