これはキーボードバックライト用のドライバです(「ドライバ」と呼びますか?)。。
可能であれば、ソースコードを使用してドライバの詳細を確認したいと思います。
しかし、コードを調べる前に、コードをインストールしてどのように機能するかを確認したかったのです。これにより、実際に「編集 - 再インストール - 試行」を循環して変更の効果を確認できます。
まあ、ドライバーをインストールできなかったので、サイド1で停止しました。
正直なところ、私は走ることを試みたことがなくsudo make install
、そうする前にそれが本当に必要なのか、必要に応じてなぜ必要なのかを知りたいのです。
私は見たMakefile
次の目標を持ってくださいinstall
。
install:
mkdir -p ${DESTDIR}${BINDIR}
cp $(NAME) ${DESTDIR}${BINDIR}/
mkdir -p ${DESTDIR}${UDEVDIR}
cp *.rules ${DESTDIR}${UDEVDIR}/
上にいくつかの行があります。
BINDIR := /usr/bin
sudo
したがって、権限が必要でDESTDIR
設定されていないため、${DESTDIR}${BINDIR}
確認されて書き込みが/usr/bin
必要であることは明らかですsudo
。
${DESTDIR}
さて、そもそもプレフィックスがあれば、なぜ実行してはいけないのか知りたいですmake install DESTDIR=$HOME
。
実際に試しましたが、実行可能ファイルをroccat-vulcan
実行中にエラーが発生しましたUnable to find keyboard
。おそらくインストールが必要ですか/usr/bin
?
修正する
回答で提案したように、次のようにインストールしようとしsudo make install BINDIR='/usr/local/bin'
ました。出力:
mkdir -p /usr/local/bin
cp roccat-vulcan /usr/local/bin/
mkdir -p /etc/udev/rules.d
cp *.rules /etc/udev/rules.d/
ただし、ソフトウェアを実行しようとするとエラーが発生します。次の出力roccat-vulcan -v
:
ROCCAT Vulcan for Linux [github.com/duncanthrax/roccat-vulcan]
Effect Color Table (change these with -c option)
colorIdx R G B Desc
------------------------------------------------
0 0 0 119 Base keyboard color (dark blue)
1 2303 0 -255 Typing color, initial key (over-red, under-blue)
2 2303 0 -143 Typing color, first neighbor key
3 2303 0 0 Typing color, second neighbor key
4 187 0 204 Ghost typing color, initial key
5 153 0 187 Ghost typing color, first neighbor key
6 85 0 170 Ghost typing color, second neighbor key
7 0 0 0 (null)
8 0 0 0 (null)
9 0 0 0 (null)
open_device(1e7d, 3098): No LED device found
open_device(1e7d, 307a): ignoring non-LED interface #0
open_device(1e7d, 307a): ignoring non-LED interface #1
open_device(1e7d, 307a): ignoring non-LED interface #2
open_device(1e7d, 307a): LED interface at USB path 1-3:1.3
open_device(1e7d, 307a): Unable to open LED interface 1-3:1.3
Error: Unable to find keyboard
答え1
${DESTDIR}${UDEVDIR}
ただし、/ usr / binでは解決されません${BINDIR}
。${DESTDIR}
インストールのデバッグに使用されます。指定しないと、プログラムは/
ファイルシステムのルートディレクトリまたはパスにインストールされます。${DESTDIR}
システムにインストールするには、プログラムを設定せずに実行する必要があります。
また、バイナリを別の場所にインストールするには、BINDIR
$ HOMEフォルダのディレクトリなど、自分が所有するディレクトリに設定する必要があります。 Freedesktopユーザーは$ HOME / .local / bin /を使用し、あなたもそうすることができます。フルパスを指定せずに実行可能ファイルを使用できるように、$ HOME / .local / bin /をPATH変数に追加することもできます。
最後にリンクされたプロジェクトの追加情報によると、root以外のユーザーとしてプログラムを実行するには、Plugdevグループのメンバーである必要があります。次のコマンドを使用してPlugdevに属していることを確認し、id -Gn <your username here>
Plugdevがリストされていることを確認できます。 Plugdevに属していない場合は、グループに自分自身を追加できますusermod -a -G plugdev <your username>
。残念ながら、ユーザーをグループに追加するにはrootが必要ですが、それ以降はrootアクセスは必要ありません。
編集:また、/etc/udev/rules.dディレクトリに書き込むことができないため、make installにはsudoが必要です。