树莓派实现U盘自动挂载功能

本文介绍了如何在树莓派上设置U盘自动挂载,包括创建挂载点、编辑fstab文件和添加指令,以实现U盘的无缝挂载。同时,文章提到了两种方法,一种可能会导致无U盘时无法开机,另一种则更为稳妥。
摘要由CSDN通过智能技术生成

昨天写了一篇关于树莓派装系统的文章,今天就写一个如何实现U盘的挂载功能。为什么要实现自动挂载U盘呢,就是因为我们用pi账户登入树莓派的时候每次插入U盘都需要输入raspberry这个密码。当然我们用root账户登入不需要。不过还是建议玩这个最好用pi账户登入,root权限太大啦,操作不好就需要重装系统。上一篇忘记说如何开启root账户了,在这里简单说一下吧。
在终端输入指令

sudo passwd root

然后需要输入2次密码吧(记得是的),同样密码默认还是raspberry。然后sudo reboot重启即可。下次再登入界面就可以输入账户root,密码raspberry进行登入操作啦。
1.设置U盘挂载点
让U盘挂载到什么位置。这里我们操作树莓派使用Linux指令就可以了。位置自己选择,下面我就按照我的位置来写啦。
在终端执行该指令,会发现在/media/pi的路径下多了个usb文件。

sudo mkdir /media/pi/usb

sudo 就是用root账户权限来操作。
mkdir就是创建一个目录,即U盘挂载到的位置。
/media/pi/usb就是挂载的位置。
2.编辑fstab文件
系统中带有fstab文件,不要轻易操作这个文件,操作不当容易导致树莓派不能开机启动,当然你可以重装系统。(我就出现过,当然我这里是针对无屏玩家,电脑远程登入的玩家。有屏的玩家可能没问题吧)

在终端执行该指令,出现下图。

sudo nano /etc/fstab

sudo 就是用root账户权限来操作。
n

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
在 Android 2.3 版本中,可以通过监听系统广播实现 SD 卡和 U 盘的自动挂载。具体步骤如下: 1. 在 AndroidManifest.xml 文件中添加以下权限和接收器: ```xml <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <receiver android:name=".UsbReceiver"> <intent-filter> <action android:name="android.intent.action.MEDIA_MOUNTED" /> <action android:name="android.intent.action.MEDIA_UNMOUNTED" /> <action android:name="android.intent.action.MEDIA_EJECT" /> <action android:name="android.intent.action.MEDIA_REMOVED" /> <action android:name="android.intent.action.MEDIA_BAD_REMOVAL" /> <data android:scheme="file" /> </intent-filter> </receiver> ``` 2. 创建 UsbReceiver 类,并在 onReceive 方法中处理挂载和卸载广播: ```java public class UsbReceiver extends BroadcastReceiver { private static final String TAG = "UsbReceiver"; @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); Uri uri = intent.getData(); String path = uri.getPath(); if (action.equals(Intent.ACTION_MEDIA_MOUNTED)) { Log.d(TAG, "U盘挂载,路径为:" + path); // 执行挂载后的操作 } else if (action.equals(Intent.ACTION_MEDIA_UNMOUNTED)) { Log.d(TAG, "U盘已卸载,路径为:" + path); // 执行卸载后的操作 } } } ``` 3. 在 MainActivity 中注册 UsbReceiver,如下: ```java public class MainActivity extends AppCompatActivity { private UsbReceiver usbReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 注册 UsbReceiver usbReceiver = new UsbReceiver(); IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_MEDIA_MOUNTED); filter.addAction(Intent.ACTION_MEDIA_UNMOUNTED); filter.addDataScheme("file"); registerReceiver(usbReceiver, filter); } @Override protected void onDestroy() { super.onDestroy(); // 注销 UsbReceiver unregisterReceiver(usbReceiver); } } ``` 以上三个步骤即可实现 Android 2.3 版本下的 SD 卡和 U 盘自动挂载。需要注意的是,由于不同设备的 U 盘挂载点可能不同,因此需要根据实际情况进行路径的获取和操作。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值