注:EboMikeの受け入れられた答えは正しくありません。
これが古い質問スレッドであることは知っていますが、同じ問題を解決しようとして偶然見つけました。しかし、受け入れられた答えは正しくありませんでした。udevルールを正しく設定したら、adbサーバーをrootとして実行する必要はありません。
http://developer.android.com/tools/device.htmlのステップ3で、正しい解像度が得られます。具体的には、次の行で/etc/udev/rules.d/51-android.rulesを追加または変更します。
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0666", GROUP="plugdev"
この場合、0bb4はHTCのベンダーIDです。0fffはNexusOneの製品IDです。上記のリンクの表、またはlsusbを使用して、デバイスのベンダーIDと製品IDを特定します。例えば
$ lsusb
Bus 001 Device 006: ID 18d1:4e22 Google Inc. Nexus S (debug)
18d1はこの特定のデバイスのベンダーIDであり、4e22は製品IDです。すべてのユーザーがこのデバイスにアクセスできるようにする場合は、「GROUP」定義を省略できます。そうでない場合は、まだプラグデブグループに参加していない場合は、必ず自分自身をプラグデブグループに追加してください。このファイルを作成したら、udevを再起動またはリロードします。
udevadm control --reload-rules
グループに自分を追加する必要がある場合は、ログアウトしてから再度ログインする必要があります。
「adbkill-server」を使用して古いadbサーバーを強制終了し、デバイスを接続して「adbdevices」を実行します。これによりサーバーが再起動し、デバイスが表示されます。adbサーバーを起動するためだけでも、ルートとしてadbを実行する必要はありません。また、絶対に必要な場合を除いて、rootとして実行することも一般的に悪い考えです。