FakeStarSenseのPlateSolveを実行するUserLAndがどうもアップデートでデグレしたようで、Android14だとPictureフォルダにあるファイルが見えなくなってしまいました。
UAndroid側の/Android/data/tech.ula/files/storage フォルダが UserLAnd側の/storage/internalとして共有されていて、撮影した画像をUserLAndにわたすのが、以前はこのフォルダを介してできたのですが、Android11からアプリは自分のローカルなフォルダ以外は基本アクセスできなくなってしまいました。
で、代わりに共有フォルダとして/PicturesフォルダがAndroid側でもUserLAnd側からでも見えていたので、そこを介して画像を渡していたのですが、Android14になって、なのかUserLAndがアップデートされて、なのか理由はわかりませんが、UserLAndで/Picturesフォルダにあるファイルが見えなくなってしまいました。さて困ったどうしようというのが前回の話(長いフリだ)。
UserLAndとAndroidとはsshで通信しているので、じゃぁsftpでファイル転送すればいいじゃない?と調べてみると、どうもUserLAndはsftpサーバは動いていないっぽい。
sftpgoっていうsftpサーバもあるみたいですが、自分でビルドしないといけない。めんどくさい・・
で更に調べていたらftpを使うのが楽そうなことがわかりました。こちらのproftpdを試してみます。
インストールは簡単。UserLAndのUbuntu上で
ます。
それから設定を編集するためにエディタを入れておきます。
2021
に変更

続いてUserとGroupの行を共に
userland
に変更。変更したらCtrl+O, Ctrl+Xを押してnanoを終了。

これで
定番の手法はsystemctlコマンドを使って、
UserLAndは起動時に /support/startSSHServer.sh を実行するため、その中に書いてやれば良い、というアイデア。なるほど。
さっきと同じようにnanoで開いて、

これでUserLAnd側は完了。後はAndroid側でftpでファイルを送ればOK。org.apache.commons.net.ftp.FTPを使います。
使い方はここらへんを見ればOkなので、略。
UAndroid側の/Android/data/tech.ula/files/storage フォルダが UserLAnd側の/storage/internalとして共有されていて、撮影した画像をUserLAndにわたすのが、以前はこのフォルダを介してできたのですが、Android11からアプリは自分のローカルなフォルダ以外は基本アクセスできなくなってしまいました。
で、代わりに共有フォルダとして/PicturesフォルダがAndroid側でもUserLAnd側からでも見えていたので、そこを介して画像を渡していたのですが、Android14になって、なのかUserLAndがアップデートされて、なのか理由はわかりませんが、UserLAndで/Picturesフォルダにあるファイルが見えなくなってしまいました。さて困ったどうしようというのが前回の話(長いフリだ)。
UserLAndとAndroidとはsshで通信しているので、じゃぁsftpでファイル転送すればいいじゃない?と調べてみると、どうもUserLAndはsftpサーバは動いていないっぽい。
sftpgoっていうsftpサーバもあるみたいですが、自分でビルドしないといけない。めんどくさい・・
で更に調べていたらftpを使うのが楽そうなことがわかりました。こちらのproftpdを試してみます。
インストールは簡単。UserLAndのUbuntu上で
ます。
sudo apt install proftpd-basic以上。
それから設定を編集するためにエディタを入れておきます。
sudo apt install nano続いてftpサーバの設定。/etc/proftpd/proftpd.confを編集します。nanoでこのファイルを開いて
cd /etc/proftpd nano proftpd.confPortの行の値を
2021
に変更

続いてUserとGroupの行を共に
userland
に変更。変更したらCtrl+O, Ctrl+Xを押してnanoを終了。

これで
sudo service proftpd restartと打てばftpサーバが動き出します。続いてUserLAndを再起動したときにftpサーバも自動起動するように設定します。
定番の手法はsystemctlコマンドを使って、
sudo systemctl enable proftpとやりますが、UserLAndではsytemctlコマンドが使えません。じゃあどうするか、ググっていたら、こちらの記事を発見。
UserLAndは起動時に /support/startSSHServer.sh を実行するため、その中に書いてやれば良い、というアイデア。なるほど。
さっきと同じようにnanoで開いて、
cd /support nano startSSHServer.sh一番最後に
/etc/init.d/proftpd startと追加してやります。こんな感じ。

これでUserLAnd側は完了。後はAndroid側でftpでファイルを送ればOK。org.apache.commons.net.ftp.FTPを使います。
使い方はここらへんを見ればOkなので、略。
コメント