01 Maret 2009

Pengganti Logon Script di Ubuntu Linux (Gnome)

Satu fasilitas yang sangat memudahkan user Windows mengakses file di server Windows adalah logon script. Biasanya diletakkan di server Windows. Dan setiap client Windows yang sudah join domain, ketika login ke domain tersebut akan menjalankan logon script ini. Semua folder yang diberikan akan langsung muncul di My Computer sebagai map folder.

Fasilitas seperti ini akan sangat memudahkan user Windows mengakses data di server. Sayangnya ini teknologi Windows. Hanya bisa digunakan untuk client Windows dengan server Windows (atau server Linux dengan Samba). Gemana client Linux (terutama Gnome) dengan server Linux (menggunakan NFS)?

Di Linux ada namanya automount (paket autofs). Tapi ini jelas beda. Autofs di mount sebelum user login. Sedangkan logon script di Windows akan dijalan setiap user login. Beda user bisa aja beda logon script. Jadi mapping foldernya akan beda lagi.

Karena NFS udah dimount di salah satu folder. Semuanya biasanya akan jawab, nggak terlalu perlu fasilitas seperti itu. Bener juga. Sayangnya gue nemukan kendala di Linux dengan knowledge user. User yang masih baru. Dan hanya tau menggunakan OpenOffice.org saja. Setelah pegang Linux, gue nggak yakin mereka tau menggunakan File-Browser (Nautilus) dengan baek. Apalagi struktur directory Linux yang jelas beda sama Windows.

NFS diretory

Semua kebutuhan user sebenernya ada di directory /server. Jadi di setiap komputer udah termount NFS ke directory itu melalui file /etc/fstab.

server.mydomain.com:/ /server nfs4 rsize=8192,wsize=8192,timeo=14,intr 0 0

Ada 5 folder dalam directory /server. Dengan struktur seperti ini:

/server/
+ personal/[username]/
+ division/[departement_name]/
+ netlogon/
+ pubic/[department_name]/
+ software/
+ temp/

Untuk memudahkan mereka, beberapa map folder yang selalu mereka dapatkan waktu masih pake Windows, akan digantikan dengan bookmark (gtk-boormarks yang ada dalam File-Browser/Nautilus). Tentu saja, dulunya kita lakukan secara manual waktu install Ubuntu Linux. Berikut beberapa folder dari NFS yang kita bookmark:
  • Folder personal (base on username)
  • Folder departemen (base on departemen name)
  • Folder public (semua user bisa read, tapi read/write hanya pada folder departemennya)
  • Folder software (semua user bisa read, hanya MIS bisa read/write)
  • Folder temp (semua user bisa read/write)
Kendala muncul dengan bookmark ini. Karena banyak komputer yang dipake lebih dari satu user. Bahkan user laen bisa saja pinjem komputer Linux di dekatkan untuk akses datanya di server. Dan karena bookmark manually hanya user tertentu, user baru yang login ke Ubuntu Linux nggak akan nemukan bookmarks tentunya. Mau nggak mau mereka akan kontak MIS. Dan tanya dimana yang di server? Kenapa nggak muncul di bookmarks seperti user laen?

Resiko ini yang pengen kita kurangin. Gemana caranya user bisa login ke Ubuntu Linux, dan bookmark akan langsung muncul secara otomatis. Seperti client Windows lah. Login apa saja usernamenya, map folder dari logon script akan langsung muncul di My Computer. Ini jelas-jelas akan menghemat banyak waktu untuk mereka. Apalagi bookmarks ini akan slalu muncul di hampir semua aplikasi Gnome (Ubuntu). Terutama pada OpenOffice.org yang selalu mereka gunakan tiap hari.

Autostart untuk system

Umumnya user akan menambahkan autostart di menu System - Preferences - Sessions. Tapi penambahan disini hanya untuk user yang aktif. Agar scriptnya bisa diload di semua login user, bisa ditempatkan di /etc/xdg/autostart. Misal dengan nama file "makebookmarks.desktop".

$cat /etc/xdg/autostart/makebookmarks.desktop

[Desktop Entry]
Type=Application
Encoding=UTF-8
Version=1.0
Name=Make Bookmarks Script
Name[en_US]=makebookmarks
Exec=/server/netlogon/makebookmarks
X-GNOME-Autostart-enabled=true
OnlyShowIn=GNOME;


Dengan file makebookmarks.desktop ini, script /server/netlogon/makebookmarks akan diload setiap kali user login. Kalau bookmarks ada yang hapus, akan digenerate lagi.

The script

Kalo diliat dari file .desktop tadi, scriptnya di /server/netlogon/makebookmarks. Jangan lupa set permission 755 agar script bisa dijalankan. Dan file ini ada di server yah. Jadi cukup 1 files aja. Perubahan file ini akan efek ke semua user. Itu yang perlu diingat.

Adapun bookmarks di Gnome (Ubuntu) biasanya disimpan di $HOME/.gtk-bookmarks. File ini akan digenerate otomatis saat pertama kali create/add user. Tentu saja jika belum ada file .gtk-bookmarks di home folder. Dan default bookmarksnya untuk Ubuntu 8.04 LTS (Hardy Heron) adalah:
  • Documents
  • Pictures
  • Music
  • Videos
Tapi kalo udah ada file .gtk-bookmarks, Gnome tidak akan generate lagi. Jadi karena kita pengen generate sendiri, sebaiknya ke 4 bookmarks default di atas disertakan kalo emang perlu. Berikutnya baru generate bookmarks untuk folder-folder di NFS.

Hal laen, semua client Ubuntu disini tersambung ke LDAP. Jadi semua usernamenya dari LDAP. Kecuali satu username "sysadmin" yang local (bukan dari LDAP). Yang biasanya ditanyakan waktu installasi. Login dengan username sysadmin, tentunya akan langsung menjalan script ini juga. Karena sysadmin hanya untuk MIS configure client (bukan untuk akses server), script ini akan menghentikan operasinya. Dan Gnome akan mengenerate bookmarks default saja.

Yang butuh scriptnya, silakan download disini. Di dropbox gue nih (link).

Hasilnya di File Browser (Nautilus):



Dan open dialog OpenOffice.org



Goodluck pren

3 komentar:

nggresik mengatakan...

wow wong IT nih...jagonya linux...top tenan

chris mengatakan...

mantabs mas..thanks atas infonya..

Afip Faujan mengatakan...

Pak, mau tanya...
Bagai mana cara buat login scrips clien samba? supaya scrips login dan tampilan desktop di clien gambarnya bisa dibuat oleh server...?
Mohon petunjuk....
info bisa di kirim ke....
email : t_yunan@yahoo.com