منبع اصلی نوشتار زیر در این لینک قرار دارد

هارد کامپیوتر در گوشی

برای گوشی های آندروید برنامه هایی هستن که با کمک اونها میتونین به مموری گوشیتون از طریق کامپیوتر بوسیله یک مرورگر ساده ی اینترنت دسترسی پیدا کنید. 
تو این فکر بودم که آیا برعکسش هم میشه؟ یعنی کاری کنیم که از طریق گوشی، به هارد کامپیوتر دسترسی داشته باشیم. این کار یه مزیت هایی داره. مثلا فکرش رو بکنید که دوست دارید یه فیلمی رو که روی لپتاپ یا کامپیوتر دارید توی تبلت یا گوشیتون نگاه کنید. اگه این کار نمیشد، باید اول فایل رو منتقل میکردید روی گوشی و بعد ازش استفاده میکردید. 
یعنی پروسه ی انتقال فایل به گوشی در هر حالت باید انجام میشد. حالا چه با اتصال USB چه با ابزارهایی مثل Airdroid و غیره. من بیشتر مد نظرم اینه که مثلا فایل منیجر گوشی رو باز کنی و بری توی هارد کامپیوترت و مثلا یه فیلم یا آهنگی رو پخش کنی. یا چمیدونم یه عکسی رو از توی کامپیوترت توی واتس اپ بفرستی. یا یه اسلایدی رو توی گوشیت باز کنی و تغییراتی بدی و ذخیره کنی و .... البته هرچند این کار هم در بطن قضیه فایلها دارن رد و بدل میشن، اما حد اقل با دخالت مستقیم شما این کار صورت نمیگیره.

برای اینکار باید از چیزی به نام samba استفاده کنیم. samba که من تلفظ میکنم سامبا، ابزاری هست که اجازه میده لینوکس این جور کارها رو بتونه انجام بده، مخصوصا بتونه با کامپیوتر های تحت ویندوز ارتباطی به این صورت پیدا کنه. راستش من زیاد سر در نمیارم از این چیزا، فقط استفاده ای رو ازش میبرم که لازم دارم!


۱- سامبا رو در توزیع خودتون نصب کنید. برای سیستم های آرچی با pacman نصب خواهد شد.
۲- حالا تنظیمات پیشفرض سامبا رو اعمال کنید
sudo cp /etc/samba/smb.conf.default /etc/samba/smb.conf
۳- و بعد فایل تنظیمات رو با ویرایشگرتون باز کنید. مثلا
sudo medit /etc/samba/smb.conf

۴- قسمت Share Definitions رو پیدا کنید. در این قسمت هزار و یک جور تنظیمات داره که شما تعیین میکنید یک فولدر توی سیستم شما با چه شرایطی share بشه. من کل اطلاعات هاردم به جز لینوکس توی یه پارتیشنه و در فولدر معینی mount شده. در قسمت Share Definitions من این تنظیمات رو برای این فولدر منظور میکنم:

[Data]
   comment = Data
   browseable = yes
   writable = yes
   path = /run/media/Data
   create mask = 755
+ اسمی رو که میخوام توی فایلمنیجر گوشیم ببینیم گذاشتم Data (رنگ سبز)
+ آدرس فولدری رو که میخوام share کنم به رنگ قرمز مشخصه. شما میتونید هر فولدری رو که دوست دارید بذارید.
+ میتونید چند تا فولدر رو به همین شکل share کنید و برای هر کدوم این مقادیر رو منظور کنید.

۵- یک اکانت برای samba تعریف کنید که این اکانت حق دسترسی به پوشه های share شده ی شما رو داره. نه هر کس و ناکسی!
sudo smbpasswd -a amin
بعد از این دستور از شما پسورد میخواد. پسورد مورد نظرتون رو بنویسید. ظاهرا باید این کاربری که اینجا تعریف میکنید از قبل توی لینوکس شما ایجاد شده 
باشه. من که همون نام کاربری خودم رو انتخاب کردم.

۶- حالا باید سیستم samba رو فعال و اجرا کنیم. توی سیستم های آرچ با این شکل این کار رو میکنیم:
sudo systemctl start smbd.socket
sudo systemctl enable smbd.socket

۷- حالا گوشیتون رو به همون شبکه ی وایرلسی که لپتاپتون هم وصله متصل کنید.

۸- باید توی گوشی فایل منیجری پیدا کنیم که از samba پشتیبانی میکنه. فایل منیجر Es File manager این کار رو به راحتی انجام میده. از قسمت منو به قسمت LAN برید. و روی آیکن رفرش تپ کنید تا لیست شبکه ی سامبای کامپیوتر شما رو پیدا کنه که با یه IP نشون داده میشه. روش تپ کنید. از شما یوزرنیم و پسورد رو میخواد و بعد شما به هارد لپتاپتون دسترسی دارید. حالا برید هر کاری که میخواید بکنید!

+ توضیح اضافه اینکه بعضی از فایل منیجر ها باید IP رو خودمون بدیم. مثلا mixplorer که فایل منیجر محبوب من هست باید دستی یک شبکه ی سامبا براش تعریف کنم. نمیدونم چرا نمیتونه خودش پیدا کنه!
آی پی کامپیوتر شما با این دستور پیدا میشه:
nmblookup -d 2 * | grep ip
جلوی مقدار ip یه عدد نوشته. این مقدار رو باید به این شکل در قسمت مربوطه در فایلمنیجر گوشی وارد کرد. مثلا
smb://192.168.1.106/Data
دارم لذت میبرم از این کشف