2021-10-09

DNFで提供されるフィル一覧を取得する方法

DNFでパッケージが提供するファイル一覧をインストールする前に取得することができる。インストール前にどのようなファイルがダウンロードされるか知ることが出来て便利だ。
dnf repoquery -l package

RPMでは以下のコマンドに相当するが、インストールされているパッケージでないと表示してくれない。

rpm -qf package

また、ダウンロードしたRPMファイルでどのようなファイルがインストールされるかを見る場合、以下のようにRPMコマンドを使用する。

rpm -ql -- file.rpm
しかしながら、lesspipe.shに頼ってlessで開く方が早い。

2021-10-01

git grep で特定のファイルを除外する方法

gitでファイルを検索する際、特定のファイルだけ除外したい場合がある。 たとえば、
  • ソースコード中の文言を探したいが、翻訳ファイルは除外したい
といった用途がある。

このようなとき、以下のように:(exclude)をつけると、exclude_patternに該当するファイルを除外できる。

git grep regex path... ':(exclude)exclude_pattern'

2021-09-24

Redhat Enterprise Linux 9で何が新しくなるのか

Redhat Enterprise Linuxのアルファ版は、今の所Fedora 34がベースとなっているらしい。 Fedora 34を使用していてどんな違いがあるのか、メモを残しておく。

この記事は未完成で、これから加筆してゆく予定。

  • Kernel version: 4.18.0 -> 5.13.16
  • iostatでdiscard数・サイズも表示されるようになる。
  • qt6が加わる。
  • すべてのオーディオがPipewireを通るようになる。 [記事] 使用する上で何が変わるのか良くわからないが、音響を扱うなら知っておいて損はないだろう。
  • 2021-09-09

    Bashにて複数行の貼り付けが1コマンドになる

    Fedora 34のBashを使っていると、中ボタンクリックで改行付のコマンドを貼り付けると、コマンドが実行されなくなった。 例えば、
    pwd
    ls
    
    というテキストを貼り付けると、
    [user@localhost ~]$ pwd
    ls
    
    と表示され、改行を含めて一つのコマンドとしてプロンプトに入ってしまう。このあとEnterキーを押せば各行が実行されるのだが、これまで中ボタンクリックだけでコマンドを実行していたので、不便に感じている。

    解決方法は、~/.inputrcに以下の設定を追記する。

    set enable-bracketed-paste off
    起動済のbashの設定を変えるには、以下のコマンドを実行する。
    bind 'set enable-bracketed-paste off'

    参考記事:

    Rocket Lakeでvaapiを使用する方法

    Fedora 34で、Intel第11世代のCore i7でvaapiを使用する方法の概略をメモしておく。

    セットアップの概略

    1. rpmfusionをセットアップする。
    2. ffmpeg などをDNFでインストールする。
    3. libva libva-intel-driver などをDNFでインストールする。
    4. intel-media-driver をソースからビルドする。21.1.3では動作せず、21.2.3にしたら動作した。
      1. rpmfusionからsrpmをダウンロード
        dnf download --source intel-media-driver
      2. ダウンロードしたsrpmを展開
        rpm -Uvh intel-media-driver-21.1.3-1.fc34.src.rpm
      3. specファイルを編集
        vim rpmbuild/SPECS/intel-media-driver.spec
        Version, Source0, %changelog を編集した。
      4. ビルドしてインストールする
        rpmbuild -ba rpmbuild/SPECS/intel-media-driver-21.2.3.spec
        sudo rpm -Uvh /home/kamae/rpmbuild/RPMS/x86_64/intel-media-driver-21.2.3-1.fc34.x86_64.rpm

      使用

      LIBVA_DRIVERS_PATH=/usr/lib64/dri/ \
      LIBVA_DRIVER_NAME=iHD \
      ffmpeg \
      -vaapi_device /dev/dri/renderD128 -hwaccel vaapi -hwaccel_output_format vaapi -hwaccel_output_format vaapi \
      -i input.mkv -vf 'format=nv12|vaapi,hwupload,deinterlace_vaapi,scale_vaapi=w=1920:h=1080' -c:v h264_vaapi -c:a copy -y output.mp4
      

      これ以外に、ソースからビルドしたOBS Studioでも動作した。

    2021-08-07

    Logi MX Master 3を使ってみた

    半月ほど前にLogiのマウスMX Master 3を購入した。

    マウス自体の使い心地

    やや重量が重たく、最初はしんどかったが、だんだん慣れてきた。 以前に使っていたものは100gほどだったが、MX Master 3は141gと40%ほど重量が増えた。40%くらいなら大したことないだろうと思っていたが、意外と重たく感じる。

    MagSpeed

    ホイールは電気的にラッチのオン・オフを切り替えられるようになっている。 ボタンを押すと切り替えられる以外に、ホイールを高速に回転させると自動でオフ、回転速度が落ちるとオンにもどるようになっている。 いちど回すと10秒間くらいは回り続け、ほぼ止まりかけるまで回転数が落ちるとカチッと音がして止まる。使っていて面白く、ついホイールを回したくなる。

    Linuxでの設定など

    solaarを引数なしで起動すると、GUIが起動して設定できる。

    solaarは便利なことに引数でCUI操作することもできる。 例えば、ホストを切り替えるには以下のようにコマンドを入れる。最初の2はマウスの番号、最後の1は切り替え先の番号。

    solaar config 2 change-host 1
    

    2021-06-04

    LinuxユーザーがMacOSを使っていて不便に感じたこと

    普段はXFCE4を使用しているが、MacOSを使ってみて不便に感じた所を挙げておく。

    端末

    端末内では選択でセレクションバッファ (のようなもの) へコピー、中ボタンクリックで貼り付けできる。 しかし、他のウインドウとコピー・ペーストを行うには、Super + C / Vを使用する必要がある。 使い分けが慣れない。

    ダブルクリックで、単語単位の選択だが、記号混じりも含めて選択するように設定できない。(設定が見つからなかった。) 例えば、git grepの結果からファイル名部分をダブルクリックした時、コロン (:) で区切られた左側全てを選択してほしいが、ハイフンなどが入っているとそこまでしか選択されない。

    文字が滲んで見える。

    日本語を表示させる方法が分からなかった。等幅フォントで日本語表示できるフォントが無いのだろうか?
    ⇒ LinuxにSSHログインした後、環境変数LC_CTYPEを消してLANG=ja_JP.UTF-8を設定したら、日本語を表示できるようになった。

    普段使っているフォント (VL Gothic) と異なるので、文字に違和感がある。

    ウインドウ操作

    セレクションバッファの機能がない。

    コピー・ペーストだけでなくかなり色々なショートカットが異なる。

    ツール / 機能LinuxWindowsMacOS
    ブラウザ / 新規タブCtrl + TCtrl + TSuper + T
    テキストボックス / 全て選択Ctrl + ACtrl + A???

    マウス

    マウスの加速に慣れない。 マウスを動かす速さに応じてカーソルの移動量が異なる。普段の動き方と異なり、目的の場所にマウスカーソルを動かすのが難しい。
    defaultsコマンドで設定できる。
    defaults write .GlobalPreferences com.apple.mouse.scaling 1.1

    ホイールにも加速がついており、回す速さに応じて、同じ角度だけ回しても移動量が変わる。 例えばブラウザで1ページ分だけスクロールしたい時にすばやく回すと、行き過ぎる。1行毎にゆっくり読みたいときには、移動量が少なすぎるが、少ないと感じて更に回すと行き過ぎる。