Nothin' but Slackware

バイクとLinuxに戯れる日々

2019年06月

Plamo linuxでbluetooth Mouseを使う

Slackwareでは標準でインストールされるblueman(GUI設定ツール)がplamoでは入っていないので、コマンドラインにて設定することになる。コマンドを忘れないためにもいいことなのかも。
不便だけど。

設定手順)
1. ログイン後、コンソールを開く。
2. CUIツール起動
 $ bluetoothctl
3. 設定開始
 
 [bluetooth] # power on
 [bluetooth] # devices
 [bluetooth] # agent on
 [bluetooth] # scan on
 [bluetooth] # trust <デバイスのMACアドレス>
 [bluetooth] # pair <デバイスのMACアドレス>
 [bluetooth] # connect <デバイスのMACアドレス>
 接続が確立されると設定コンソールの表示が変わった。

 [bluetooth Mouse M557] #
 [bluetooth Mouse M557] # exit

=====
追記)二度目のログインから、pair と connect コマンドが失敗することが頻発。
この様な時、多くの場合、一度
[bluetooth] # remove <デバイスのMACアドレス>

でデバイスを消してから再度上述の操作を最初から繰り返すとうまくいく。
面倒くせーなぁ・・・。Plamo開発者さん、blueman取り入れてくれないかな。自分で入れるしかないのか。

コマンドラインでyoutube URLをストリーミング

vlcでyoutubeをストリーミングしてみた。この曲好き。
$ vlc https://www.youtube.com/watch?v=bJj9575tTlc

youtube-dl & mplayer の場合。
$ youtube-dl 'https://www.youtube.com/watch?v=bJj9575tTlc' -o - | mplayer -

4行で終わるのも何なので、ecasound でラジオ試聴を録音して後で再生するコマンド例。
まずはいつもの通り radioSHARK2を接続して選局(チューニング)する。
# shark2 -fm 82.1

次は録音。デバイス名は環境毎に変わる。
$ ecasound -i /dev/dsp3 -o record.wav

再生する。
$ aplay record.wav

blueman-2.1 on Slackware64-current

bluetoothマネージャbluemanがblueman-2.1にアップデートされて、いままでHP 840 G1 においてペアリング出来たり出来なかったりして使いずらかった使い勝手が改善された気がする。おかけで常時Bluet00thマウスが問題なく使えるようになり、今まで無線接続マウスに占有されていたUSBポートがひとつ自由になった。嬉しい。

HP EliteBook 840 G1 の指紋認証デバイス

HP EliteBook 840 G1 の指紋認証デバイスのドライバ類はHP社からSuSE用のみが提供されていて、Slackwareではどうたらよいのかさっぱりわからない私。(コードを読み書きできるスキルが無い)

しかし、せっかくあるデバイスだし、行けるとこまで行ってやろうと思いたち挑戦した結果。使用出来るまでには至らないものの、デバイスをSlackware上で認識させて、デモアプリケーションまでは動かすことができた。まぁ、この後はデーモンを書いて起動時に動作させるスキルがないとどうしようもないのだが。

とりあえず、メモしておく。

1. SuSe用ドライバのダウンロードアドレス
  入手したファイルを展開する。
 S tar xvf sp84530.tar
 S cd SP84530
 $ rpm2tgz Validity-Sensor-Setup-4.5-136.0.x86_64.rpm
 $ ls -al
    2962461 Dec 29  2017 Validity-Sensor-Setup-4.5-136.0.x86_64.rpm*
    360189 Jun 27 12:08 Validity-Sensor-Setup-4.5-136.0.x86_64.tgz
 $ mkdir tmp-package
 $ cd tmp-package
 $ su -
 # cd <PATH/TO/tmp-package>
 # makepackage ../Validity-Setup-4.5-136.0-x86_64-1.txz
 # installpkg Validity-Setup-4.5-136.0-x86_64-1.txz
 # cd /usr/lib64
 # ln -s libcrypto.so.1.1 libcrypto.so.0.9.8
 # ln -s libssl.so.1.1 libssl.so.0.9.8

2. Linux-PAMが必要:(LFSのページを参考に Linux-PAM-1.3.1 をインストール)
 $ tar xvf Linux-PAM-1.3.1.tar.xz
 $ cd Linux-PAM-1.3.1
 $ ./configure --prefix=/usr \
            --sysconfdir=/etc                \
            --libdir=/usr/lib64              \
            --enable-securedir=/lib/security \
            --docdir=/usr/share/doc/Linux-PAM-1.3.1 &&
 $ make
 $ sudo make install DESTDIR=<PATH/TO/作業用DIR>
 # cd
<PATH/TO/作業用DIR>
 # makepkg /tmp/Linux-PAM-1.3.1-x86_64-1.txz
 # installpkg /tmp/Linux-PAM-1.3.1-x86_64-1.txz
インストール後に下記を実行
 # install -v -m755 -d /etc/pam.d && cat > /etc/pam.d/other << "EOF" auth required pam_deny.so account required pam_deny.so password required pam_deny.so session required pam_deny.so EOF
 注記)後日、ここにあるスクリプトでpamパッケージを作成してインストールし直した。
 さらに、ログインやパスワードに関連すると思われるpam関連パッケージを上記リンクのスクリプトを流用させてもらいインストールした。
 インストール、置き換えたパッケージは shadow, sudo, ConsoleKit2. cracklib. polkit。
 (必須ではないかもしれない)
  
3. libfprint-0.0.6 にlibfprint-validity.patchをあててコンパイル&インストールする(重要)
  https://balintbanyasz.wordpress.com/2015/03/27/get-validity-vfs-495-fingerprint-reader-working-in-ubuntu-14-04/
 ・patchの入手先: こちら
 libfprint-0.0.6のパッチなしのSlackBuildがSlackBuild.orgにあるのでそれを流用した。

4. pam_fprint-0.2 をインストール(sourceは3のリンクのファイルに含まれている)

5. fprint_demo-0.4 をインストール
(sourceは3のリンクのファイルに含まれている)

・・・なんか書くのが面倒くさくなってきたので、追々書くことにする。
とりあえず、GUIデモの画像を下記に貼り付け。
デバイスが認識されて指紋読み取り出来ているのがわかる。
ここまで出来て、使えないのは何とも残念だ。

=====
追記)令和元年7月5日 
ついにコンソールログイン時に限ってだが指紋認証ログインが動作するようになった! 嬉しい。

ドライバがデバイスを認識するようになったことは上述の通り。
その後、いろいろ試し過ぎたため何が一番効き目があったのかまとめることができない。とりあえず、ためしたことを順不同でメモしておく。

1) 上述3のリンクに含まれている vcsFPServiceDaemon を手直ししてrc.vcsFPServerDaemonとして /etc/rc.d/ に置く。(手直しした内容が正しいかはまったくわからない)

2) pam_fprint-0.2 をインストール後、以下のようにシンボリックリンクを貼る
 #  cd /usr/lib64/security
 # ln -s ../../../lib/security/pam_fprint.so pam_fprint.so

3) /etc/pam.d/system-auth の一番上に下記の行を追加
 auth        sufficient    pam_fprint.so

4) /etc/pam.d/system-local-login を作成(念のためにやった)必須かどうかはわからない。
 内容は下記の一行のみ。
 auth      sufficient   pam_fprint.so

5) これで再起動かけるとログイン時に「左手の人差し指をスキャンせよ」と英語メッセージが出た。
 ”指紋認証デバイスは右のパームレスト部にあるのに、何故に「左手の人差し指?」”
 兎に角、スキャンするとちゃんとログイン出来たではないか!
 
 jw-slackware login: <ユーザー名>
 Scan left index finger on Validity Sensors

 Sensor usb#vid_138a#pid_003f#00208cf05292 plugged.

 Waiting for finger swipe ...

 上のようなメッセージが出て、スキャンすればパスワードなしにログインできた。
 ネット情報では HP EliteBook 840G1 の指紋認証は少なくともSlackwareでは使用できないという情報しかなかったので、コンソールベースログインで動作できただけでも満足。
上の指紋スキャンを促すメッセージはX環境の仮想コンソールで $ su - したときにも出てきて、同じように動作する。

01_fprint_demo-openi-window

03_fprint-device-recognized
 上記の通り デバイスが認識された。

指紋読み取り例)
7/5 いちおうモザイク処理した(指紋データは重要ですからね)
my-fingerprint-example-for-upload



Slackware環境へのQt5-5.13.0導入

メインデスクトップ、masiノート(GL62)、HPノート(840G1) すべてに Qt5-5.13.0 の導入を完了した。一番CPUパワーがあるデスクトップでコンパイルして、まずはデスクトップ環境に導入した後、vlcをそのQt5環境下で再コンパイルしてBluRay再生確認を行った。
vlcはいままでnightly-buildのvlc-4.0.0-devを使ったりしていたが、たまに設定ウィンドウのあるボタンを押すとvlcがクラッシュしたりすることがあったため、今回は安定志向で安定リリース版の vlc-3.0.7.1 を導入した。
現在のところ問題なく動作中。

デスクトップで動作に問題の無い ことを確認済みの「Qt5-5.13.0 & vlc-3.0.7.1」 の組み合わせのパッケージをそのままノートPCにインストールしたらノートではvlcが起動しない問題に遭遇し、あらためてvlc-3.0.7.1を再コンパイルすることで解決した。これは自分の環境やノートの仕様にも依存しているのかもしれない。

今後はQt5が影響を与えそうな他のアプリケーションの動作チェックをしていくことになる。

Running Slackware64(post v14.2) on MSI GL62 6QC

Slackware64-current (post 14.2) on msi GL62 6QC laptop PC

=== System and Specifications ===
System:    Host: XXXXXXXXXX  Kernel: 4.19.46 x86_64
           bits: 64 compiler: gcc v: 9.1.0 Desktop: Xfce 4.12.4
           tk: Gtk 2.24.32 wm: xfwm4 dm: startx
           Distro: Slackware 14.2+
 
Machine:   Type: Laptop System: Micro-Star product: GL62 6QC
           v: REV:1.0 Chassis: type: 10  
           Mobo: Micro-Star model: MS-16J6 v: REV:1.0
           UEFI: American Megatrends v: E16J6IMS.108
           date: 03/16/2017

Battery:   ID-1: BAT1 charge: 40.7 Wh condition: 42.1/43.2
           Wh (98%) volts: 12.2/10.8 model: MSI Corp. MS-16J6
           
CPU:       Topology: Quad Core model: Intel Core i5-6300HQ
           bits: 64 type: MCP arch: Skylake-S rev: 3 L2 cache: 6144 KiB
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
           bogomips: 18432
           Speed: 2809 MHz min/max: 800/3200 MHz
           Core speeds (MHz): 1: 2800 2: 2804 3: 2802 4: 2800

Graphics:  Device-1: Intel HD Graphics 530
           vendor: Micro-Star
           MSI driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:191b

           Device-2: NVIDIA GM108M [GeForce 940MX]
           vendor: Micro-Star MSI driver: nvidia v: 430.14 bus ID: 01:00.0
           chip ID: 10de:134d

           Display: server: X.Org 1.20.5
           driver: intel,modesetting,nouveau,nv
           unloaded: vesa alternate: fbdev
           resolution: 1920x1080~60Hz
           OpenGL: renderer: Mesa DRI Intel HD Graphics 530 (Skylake GT2)
           v: 4.5 Mesa 19.0.5 compat-v: 3.0 direct render: Yes

Audio:     Device-1: Intel 100 Series/C230 Series Family
           HD Audio vendor: Micro-Star MSI Sunrise Point-H
           driver: snd_hda_intel
           v: kernel bus ID: 00:1f.3 chip ID: 8086:a170
           Sound Server: ALSA v: k4.19.46

Network:   Device-1: Intel Wireless 3165 driver: iwlwifi
           v: kernel port: e000 bus ID: 02:00.0 chip ID: 8086:3165
           IF: wlan0 state: up

           Device-2: Qualcomm Atheros QCA8171 Gigabit Ethernet
           vendor: Micro-Star MSI driver: alx v: kernel port: d000
           bus ID: 03:00.0 chip ID: 1969:10a1
           IF: eth0 state: down

Drives:    Local Storage: total: 938.73 GiB used: 55.71 GiB (5.9%)
           ID-1: /dev/sda vendor: HGST (Hitachi) model: HTS721010A9E630
           size: 931.51 GiB speed: 6.0 Gb/s rotation: 7200 rpm
           rev: A3J0 scheme: GPT

           ID-2: /dev/sdb type: USB model: ELECOM MF-SU2B
           size: 7.22 GiB rev: PMAP scheme: MBR

           Optical-1: /dev/sr0 vendor: MATSHITA
           model: BD-MLT UJ272 rev: 1.00
           dev-links: cdr,cdr0,cdrom,cdrom0,cdrw,cdrw0,dvd,dvd0,
           dvdr,dvdr0,dvdrw,dvdrw0,dvdwriter,dvdwriter0
           Features: speed: 24 multisession: yes audio: yes dvd: yes
           rw: cd-r,cd-rw,dvd-r,dvd-ram state: running

Partition: ID-1: / size: 118.71 GiB used: 40.66 GiB (34.3%)
           fs: ext4 dev: /dev/sda5
           ID-2: swap-1 size: 2.15 GiB used: 0 KiB (0.0%)
           fs: swap dev: /dev/sda6

Sensors:   System Temperatures: cpu: 44.0 C mobo: N/A
           Fan Speeds (RPM): N/A

Info:      Processes: 219 Uptime: 5m Memory: 15.57 GiB
           used: 518.1 MiB (3.3%) Init: SysVinit v: 2.94
           runlevel: 3 default: 3
           Compilers: gcc: 9.1.0 alt: 9.1.0
           clang: 8.0.0 Shell: bash v: 5.0.7
           running in: xfce4-terminal inxi: 3.0.34
======

Addtional notes

1) GRUB2 kernel option (This is important for this PC)
"pci=noaer libata.force=noncq intel_idle.max_cstate=1 nvidia-drm.modeset=1"

2) WavLan connection
   After default installing, I added wicd package from slackware extra package then set-up the wifi connection by wicd GUI tool.

3) Bumblebee
   This laptop has dual GPU as shown the above specification.
   By installing bumblebee packages (not included slackware's original packages), you can chuse higher graphic performance with nvidia driver.

ノートPCで Qt5をソースからコンパイル開始

使用機器: HP EliteBook 840 G1
CPU: Topology: Dual Core model: Intel Core i5-4300U bits: 64 type: MT MCP L2 cache: 3072 KiB
           Speed: 2594 MHz min/max: 800/2900 MHz Core speeds (MHz): 1: 2594 2: 2595 3: 2727 4: 2867
Qt5-source:qt-everywhere-src-5.12.4.tar.xz
configure Options:
※SlackBuild.orgにあるスクリプトのまま。
./configure -v \
  -confirm-license \
  -opensource \
  -prefix "/usr/lib${LIBDIRSUFFIX}/$PRGNAM" \
  -sysconfdir "/etc/xdg" \
  -headerdir "/usr/include/$PRGNAM" \
  -libdir "/usr/lib${LIBDIRSUFFIX}" \
  -docdir "/usr/doc/$PRGNAM-$VERSION" \
  -system-libpng \
  -system-libjpeg \
  -system-zlib \
  -system-sqlite \
  -plugin-sql-sqlite \
  -icu \
  -openssl-linked \
  -verbose \
  -dbus-linked \
  -qpa xcb \
  -xcb \
  -glib \
  -accessibility \
  -no-separate-debug-info \
  -no-pch \
  -no-rpath \
  -no-strip \
  -release \
  -no-use-gold-linker \
  -c++std c++11 \
  $CCACHE \
  $CODECS \
  $PULSE \
  $RELOCATIONS \
  $BUILD_EXAMPLES

スクリプト下方の下記の行を修正したのみ。
(修正前)
README qtbase/{header*,LGPL_EXCEPTION.txt,LICENSE.*L} \

(修正後)
 README qtbase/{header*,LICENSE.*L} \

最初、何も考えずにコンパイル開始したら途中でエラーを出してストップした。xcbオプションに関連するエラーで、事前に libxkbcommon(0.8.4)をインストールしておく必要があった。
気を取り直してコンパイル開始。
いま3時間経過してまだコンパイル中。HPノートにとっては過酷な試練と思われる。すまない。

HPノートでのコンパイル開始から30分遅れて、デスクトップでもQt5(こっちは v.5.13.0)のコンパイルを開始した。
デスクトップはコンパイル開始から約5時間50分でコンパイル終了。HPノートはすべてのCPUコアの使用率がほぼ99%でまだコンパイル真っ最中である。
HPに敬意を表して、ノートを急行列車とすると30分遅れて発車した特急に追い越された感じ。ガンバレHP!.

追記)
HPノートでのコンパイル終了。かかった時間は7時間。結構がんばった方だと思う。お疲れ様。

いまどきUSB-接続Floppy-Driveを使ってみる

今更ながらUSB-接続Floppy-Driveを使ってみたメモ。
物はThinkpadノート用に昔入手したIBMロゴが入っているフロッピードライブだ。

1. まずは機器を接続したときのLinux側での認識状態。

# dmesg出力
: new full-speed USB device number 11 using xhci_hcd
: New USB device found, idVendor=0644, idProduct=0000, bcdDevice= 0.00
: New USB device strings: Mfr=1, Product=2, SerialNumber=0
: Product: TEAC FD-05PUB  
: Manufacturer: TEAC   
:1.0: USB Mass Storage device detected
: usb-storage 1-4:1.0
: Direct-Access     TEAC     FD-05PUB         1026 PQ: 0 ANSI: 0 CCS
: Attached scsi generic sg2 type 0
: Power-on or device reset occurred
: [sdb] Attached SCSI removable disk
SCSIデバイスとして認識されている。

2. ドライブに2HD-FDを挿入したときの認識状況
# dmesg
: Direct-Access     TEAC     FD-05PUB         1026 PQ: 0 ANSI: 0 CCS
: Attached scsi generic sg2 type 0
: Power-on or device reset occurred
: [sdb] Attached SCSI removable disk
: [sdb] 2880 512-byte logical blocks: (1.47 MB/1.41 MiB)
フロッピーメディアが /dev/sdb と認識された。

3. とりあえず フォーマットしてみる
# mke2fs /dev/sdb
mke2fs 1.45.2 (27-May-2019)
/dev/sdb contains a vfat file system
Proceed anyway? (y,N) y
Creating filesystem with 1440 1k blocks and 184 inodes

Allocating group tables: done                           
Writing inode tables: done                           
Writing superblocks and filesystem accounting information: done

これだけではつまらないので起動フロッピーを作成して使えるかどうか確認した。

4. GRUB(多分 v.0.97相当)ブートディスクの作成
下記リンクに親切にもブートディスクのイメージファイルがある。

5. フロッピーへのイメージ書き込み
# dd if=bootgrub of=/dev/sdb bs=1k
1440+0 records in
1440+0 records out
1474560 bytes (1.5 MB, 1.4 MiB) copied, 223.872 s, 6.6 kB/s

6. 実際に起動できるか
ケース1)最近お気に入りの HP-840G1ノート(起動デバイスとして認識されず失敗)
ケース2)さらに古い東芝製dynabookノート(起動成功。GRUBメニューが表示されてブートパーティションも認識されている。そして起動もできた。)

まぁ、実際は緊急レスキュー用の  super-GRUB2起動CD.起動USBメモリスティックがあるから、わざわざfloppyの世話になることはないであろう。

すべてのジャンクがLinuxで使えるわけではなかった

ジャンク箱の中から次に出てきたのが、昔懐かしきUS-Robotics社のPalmPilot。
Pilot本体は動作するが、PCとリンクするためのクレードルが無い。ましてやPC側に接続ポート(シリアル接続)が無いので、Linuxを有効に活用する術が無い。ということで、もう使うことはないかも。

メルカリにでも出してみるか。

radioSHARK2 on Linux


かなり前にHard-OFFにてジャンクで購入して使わずに放っておいた radioSHARK2 を処分しようと思っていたが、Linuxで使えないものかと検索したら使えるらしいことがわかり、ネット検索を屈指して情報を集めて使えるようになったので記録しておく。
先人の力とネットの威力に脱帽。

1) libusb が必要(slackware64 ではデフォルトでインストールされている)

2) libhid をインストールする(SlackBuild.org)

3) ecasound をインストールする(SlackBuild.org)

4) shark2.c をコンパイルしてバイナリを作成する
   sourece> https://javier.rodriguez.org.mx/2007/05/20/use-the-radioshark-2-under-linux-shark2c から取得
   compile> gcc -o shark2 -lhid shark2.c
 # cp shark2 /usr/sbin/

5) rc.alsa, rc.alsa-oss を起動時に有効になるようにする
   # chmod a+x /etc/rc.d/rc.alsa
   # chmod a+x /etc/rc.d/rc.alsa-oss
   PC再起動

6) radioShark2 をUSBポートに接続

7) スーパーユーザーになる
$ su -
<PASSWORD>

8) radioSHARK2が認識されていることを確認してみる
# dmesg
[  387.717190] usb 2-2: new full-speed USB device number 8 using xhci_hcd
[  387.848122] usb 2-2: New USB device found, idVendor=077d, idProduct=627a, bcdDevice= 0.10
[  387.848125] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  387.848126] usb 2-2: Product: radioSHARK
[  387.848128] usb 2-2: Manufacturer: Griffin Technology, Inc.
[  388.195556] usbcore: registered new interface driver snd-usb-audio
[  388.242674] usbcore: registered new interface driver radioshark2

# lsusb
Bus 002 Device 008: ID 077d:627a Griffin Technology Radio SHARK

9) PCとハンドシェイクできているか確認する
# /usr/sbin/shark2 -red 1 LEDが赤くなればOK
Or
# /usr/sbin/shark2 -blue 60

10) チューニング
# shark2 --help
shark2 <command> <arg>
    change state of radioSHARK

commands:
 -fm <freqeuncy>    : set FM frequency, e.g. '-fm 91.5'
 -am <frequency>    : set AM frequency, e.g. '-am 730'
 -blue <intensity>  : turn on blue LED (0-127) '-blue 127'
 -red <0/1>         : turn on/off red LED '-red 1'

NHK-FM Yamagata --> 82.1 MHz
FM-Yamagata --> 80.4 MHz
# /usr/sbin/shark2 -fm 82.1

11) 試聴する
$ ecasound -D -f:s16_le,2ch,48000,inter-leaved -i:/dev/dsp3 -o:/dev/dsp1 -B:nonrt -z:db -b:4096
注記) dev/dsp3 と dev/dsp1 の番号は各人の環境によって違う。

------------
Reference URL:
http://natescrap.blogspot.com/2009/01/radio-shark-2-running-on-intrepid-ibex.html
https://javier.rodriguez.org.mx/2006/06/10/griffin-radio-shark-icecast2-on-debian-gnulinux
https://javier.rodriguez.org.mx/2007/05/20/use-the-radioshark-2-under-linux-shark2c

※ちなみに音質はかなり良い。Amazonでは品切れ中で、販売時の新品価格は15800円。捨てないでよかった! 
snapshot4

--------------------
Update 2020-09-01

radio-shark2 で受信中のサウンドをバックグランドで録音するには
$ arecord -c 2 -f dat -D hw:1,0 | lame -b 128 -m s - <record-tilte>.mp3

--------------------
Update 2021-08-19

いつの頃からか不明だが、視聴すると /dev/dsp busy だの permission がどうのといったメッセージが出て
サウンド再生できなくなっていた。
(原因) 理由もわからず /etc/rc.d/rc.pulseaudio を有効にしていたのが原因だった模様。
    chmod a-x /etc/rc.d/rc.pulseaudio して再起動したら直った。


ギャラリー
  • deepl-clip.sh で簡単翻訳 [更新:2025-04-29]
  • Avidemux 2.8.2_20250323_7cf15b3
  • Avidemux 2.8.2_20250323_7cf15b3
  • Avidemux 2.8.x with Qt6 GUI
  • Avidemux 2.8.x with Qt6 GUI
  • MEGAcmd-2.0.0_Linux
  • gcolor3 with Japanese menu and LC_MESSAGES
  • avidemux2 TEST package from the latest git source (on jul.23.2024)
  • fcitx5-mozc-2.29.5135.102.1 (15jw) -- Added "merge-ut-dictionaries"