私のシステムはUbuntu 13.04で正常に動作しますが、Windows XPを実行するためにVirtuaBoxをインストールしました。これは、USB-シリアルアダプターによるアラーム設定と対話するアプリケーションを実行するために不可欠です。
VirtualBoxはttyS0をシリアルポートとして使用し、コマンドSudo chmod 666 /dev/ttyS0
がターミナルに与えられた場合にのみ通信を効率的に開始できます。
Ubuntuを起動するたびに、ttyS0
パーミッションがデフォルト値に戻り、起動するたびにchmod
を実行する必要があります。
私の質問は、どうすれば/ dev/ttyS0ファイルのパーミッションを永久に変更できますか?これが良い方法ではない場合、問題を解決する他の方法はありますか?
システムファイルの権限を変更する必要はありません。シリアルデバイスには、次のデフォルトの権限があります。
crw-rw---- 1 root dialout ... /dev/ttyS0
そのため、ユーザーをdialout
グループに追加するだけです。
Sudo adduser $USER dialout
解決策1:ttyS0のグループを確認し、それをユーザーに割り当ててから、再ログインまたはsu-ユーザー
crw-rw---- 1 root dialout 4, 64 feb 28 18:23 /dev/ttyS0
usermod -aG dialout youruser
su - youruser
解決策2:最初の解決策が気に入らない場合は、/ etc/udev/rules.d/50-tty.rulesを編集します
KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="whateveryouwant"
もちろん、選択したグループにユーザーを追加する前に、udevを再起動するか再起動します