Python ile Ubuntu'da hızlı dosya paylaşımı
Sistemde Samba'nın kurulu olmadığı bazı durumlarda dosya / dizin paylaşım işlemine ihtiyaç duyulabilir. Sistemde Python kurulu ise bu işlemi kolayca yapabiliriz.
1. Python ile dosya paylaşımı
İlk olarak "Ctrl+Alt+T" tuşları yardımıyla uçbirim açılır daha sonra hangi klasör paylaştırılmak isteniliyorsa o klasöre girilir. Örneğin ev dizinimizi paylaştırmak isteyelim;
cd /home/kullanici_adiniz
Dizine girdikten sonra aşağıdaki komut yardımıyla sunucu başlatılır.
python -m SimpleHTTPServer
Bu komut çalıştırıldıktan sonra içinde bulunulan dizindeki dosyalar 8000 numaralı bağlantı noktasından (port) paylaşıma açılır. Başka bilgisayardan erişim için herhangi bir web gezgini ile http://bilgisayarin_ip_adresi:8000 veya kendi bilgisayarınızdan erişim için http://127.0.0.1:8000 yazılarak dosyalara erişilebilir.
2. Dosya paylaşımı sırasında oluşan Türkçe karakter problemini çözme
Komut Python'da bu şekilde çalıştırıldığında Türkçe karakter problemi oluşacaktır. Bu problemi çözmek için;
sudo gedit /usr/lib/python2.6/SimpleHTTPServer.py
yazılarak ilgili dosya açılır, dosyanın 134. satırı aşağıdaki şekilde değiştirilir ve sunucu yeniden başlatılır.
self.send_header("Content-type", "text/html; charset=UTF-8")
3. Komutu kolay kullanmak için .bashrc dosyasına kayıt ekleme
Bu komutu akılda tutmak zor olabilir, bu sebeple .bashrc dosyanıza http gibi bir takma ad (alias) ekleyip işinizi kolaylaştırabilirsiniz. Bunun için ilk olarak .bashrc dosyamızı açalım. Dosyayı açmak için uçbirimden aşağıdaki komutu yazalım;
gedit ~/.bashrc
Daha sonra aşağıdaki kodu dosyanın en sonuna ekleyip, dosyayı kaydedip kapatıyoruz.
alias http="python -m SimpleHTTPServer"
Son olarak bilgisayarımızı yeniden başlatmadan takma adımızı aktif hale getirmek için aşağıdaki komutu uçbirimden giriyoruz.
source ~/.bashrc
4. Komutu Nautilus'a betik olarak ekleme
Betiğimizi pythonSunucu adıyla kaydedeceğimizi düşünelim. Bunun için gedit yazılımını uçbirimden aşağıdaki komut ile çalıştıralım.
gedit ~/.gnome2/nautilus-scripts/pythonSunucu
gedit içine aşağıdaki kodlar yapıştırılır ve kaydedilir.
#!/bin/sh base="`echo $NAUTILUS_SCRIPT_CURRENT_URI | cut -d'/' -f3- | sed 's/%20/ /g'`" if [ -z "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ]; then dir="$base" else while [ ! -z "$1" -a ! -d "$base/$1" ]; do shift; done dir="$base/$1" fi cd "$dir" gnome-terminal -x python -m SimpleHTTPServer
Betiğimizi kullanmak için, nautilus ile paylaşmak istediğiniz dizin içerisine girip, sağ tuşa basıp, "Scripts>pythonSunucu" seçmeniz yeterli olacaktır.