Raspbian(Debian GNU / Linux 11(bullseye))を実行しているデバイスに起動bashスクリプトを追加しました。
これは私のスクリプトです。
SysmacApp.sh
#!/bin/bash
mkdir -p /home/pi/App;
mkdir -p /home/pi/Shared/Service;
mkdir -p /home/pi/Shared/Service/Data;
mkdir -p /home/pi/Shared/Sysmac;
sudo mount -t cifs //10.10.0.1/SysmacApp /home/pi/App -o username=*****,password=*****
cp /home/pi/App/Service/* /home/pi/Shared/Service -r
cp /home/pi/App/Sysmac/* /home/pi/Shared/Sysmac -r
cp /home/pi/App/Shared/* /home/pi/Shared
sudo umount /home/pi/App
cd /home/pi/Shared/Service
dotnet ./SysmacService.dll &
sleep 2
cd /home/pi/Shared/Sysmac
dotnet ./SysmacUI.Skia.Gtk.dll &
だから基本的に:
- 存在しない場合は、いくつかのディレクトリを作成します。
- 共有フォルダから両方のアプリケーションをコピーします。
- 両方のアプリケーションを実行します。
デバイスの起動時にアプリケーションが実行されるため、スクリプトは実行されますが、私がしない限り情報はコピーされません。このスクリプトを端末で手動で実行します。。
スクリプトを実行するために/etc/xdg/autostart
フォルダにアイテムを追加しました。
SysmacApp.desktop
[Desktop Entry]
Name=SysmacApp
Comment=Starts sysmac application
Exec=/home/pi/Shared/SysmacApp.sh
Terminal=true
Type=Application
Categories=Utility;Application;
リモートでデバイスを再起動すると、アプリケーションは実行されますが、共有フォルダからコピーされません。
私は何が間違っていましたか?
ターミナルウィンドウで実行すると、スクリプトは機能します。
ログファイルから以下を取得しました。
Sep 15 14:21:07 raspberrypi kernel: [ 14.997131] FS-Cache: Netfs 'cifs' registered for caching
Sep 15 14:21:07 raspberrypi kernel: [ 15.008071] Key type cifs.spnego registered
Sep 15 14:21:07 raspberrypi kernel: [ 15.008110] Key type cifs.idmap registered
Sep 15 14:21:07 raspberrypi kernel: [ 15.010226] CIFS: No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3>Sep 15 14:21:07 raspberrypi kernel: [ 15.010253] CIFS: Attempting to mount \\10.10.0.1\SysmacApp
Sep 15 14:21:07 raspberrypi kernel: [ 15.010426] CIFS: VFS: Error connecting to socket. Aborting operation.
Sep 15 14:21:07 raspberrypi kernel: [ 15.010452] CIFS: VFS: cifs_mount failed w/return code = -101
-o _netdev
ログには、ボリュームのマウントを試みた後にeth0パスが追加されたことを示すため、それをマウントコマンドに追加しましたが、成功しませんでした。