Fedora14のシリアルポートを読み書きするアプリケーションを書いていますが、rootで実行するとうまく動作します。しかし、それを通常のユーザーとして実行すると、デバイス(/ dev/ttySx)にアクセスするために必要な特権を取得できません。 Eclipseを使用していまいましいことを実際にデバッグすることができないので、それは一種のくだらないことです。
SudoでEclipseを実行してみましたが、ワークスペースが破損し、プロジェクトを開くこともできません。ですから、/ dev/ttySxに書き込むためのアクセス要件を下げて、通常のユーザーがアクセスできるようにすることが可能かどうか知りたいのです。これは可能ですか?
シリアルポートにアクセスする権利は、デバイスファイルの権限によって決定されます(例:/dev/ttyS0
)。だからあなたがする必要があるのは、あなたがデバイスを所有するように手配するか、(より良い)デバイスを所有するグループに自分を入れるか、(Fedoraがサポートしているなら、私はそうだと思う)デバイスを手配することですコンソールにログインしているユーザーに属しています。
たとえば、私のシステム(Fedoraではない)では、/dev/ttyS0
はユーザーroot
とグループdialout
が所有しているため、シリアルデバイスにアクセスできるようにするには、自分をdialout
グループに追加します。
usermod -a -G dialout MY_USER_NAME
多くのディストリビューションは、グループメンバーシップを使用してシリアルポートへのアクセスを可能にします。ただし、Fedoraの詳細はわかりません。
パスワードなしで実行できるコマンドエイリアスとして一連のコマンドを指定できるようにするsudoersファイルに自分を追加できると思います。 sudoersファイルに関する優れたチュートリアルは buntu docs にあります。
その後、Eclipseを通常どおり実行すると、root権限なしでこれらの特定のコマンドを実行できます。