Sunday, July 28, 2019

Cara Setting LPD sebagai Alternatif Samba Printer Sharing


Akhir-akhir ini saya mengalami masalah yang cukup membuat frustasi ketika harus mencetak dokumen dari Ubuntu 18.04 ke shared printer di Windows via protokol Samba. Setiap kali mencetak selalu muncul notifikasi “held for authentication” dan ketika saya masukkan username dan password, hasilnya tetap nihil – perintah mencentak dokumen gagal dikirim ke printer.

Setelah browsing sana-sini, akhirnya solusinya berhasil saya temukan. Selain Samba, ternyata ada protokol sharing printer lain yang bisa digunakan di jaringan komputer multi-sistem operasi. Namanya Line Printer Daemon (LPD). Protokol ini pertama kali diimplementasikan pada Berkeley printing system di OS BSD UNIX di tahun 90an. LPD juga didukung oleh protokol yang lebih umum seperti CUPS (Common UNIX Printing System) dan IPP (Internet Printing Protocol).

Tanpa banyak basa-basi. Berikut cara setting LPD pada OS Windows 10 sebagai host dan GNU/Linux sebagai komputer client.

Setting di Windows 10 (Host)

  • Pastikan di komputer ini sudah terinstal driver printer yang akan di-shared dan printer dalam posisi on. Untuk memudahkan setting, gunakan nama tanpa spasi dan karakter khusus untuk nama printernya.
  • Selanjutnya, silakan masuk ke Control Panel > Programs and Features > Turn Windows features on or off . Klik tanda [+] pada Print and Document Services lalu kasih tanda centang untuk opsi LPD Print Service.
  • Silakan klik OK dan tunggu prosesnya hingga selesai. 




















    Setting di GNU/Linux (client)

  • Buka Printer Settings, Klik Unlock lalu masukkan password admin
  • Klik [+] Add Printer
  • Klik Network Printer, lalu pilih LPD/LPR Host or Printer.
    Pada bagian Host, isi dengan IP address komputer host.
    Pada bagian Queue, isi dengan nama printer yang di-shared. Jika nama printer memakai spasi, gunakan karakter %20 untuk menggantikan spasi.
  • Klik Probe. Jika ada prompt autentikasi, silakan masukkan username dan password.
  • Klik Forward, lalu pilih driver printer sesuai vendor dan jenis printer yang di-shared. Jika model printer tidak ditemukan, berarti driver belum tersedia di sistem. Silakan browsing di Internet dan instal dulu driver yang dibutuhkan.
  • Klik OK, atau coba Print Test Page. Jika dokumen test page bisa tercetak, berarti Anda sudah berhasil menambahkan printer dengan benar.  
Selamat mencetak. Semoga tutorial ini bermanfaat.

Saturday, July 13, 2019

GNOME di Balik Layar Bioskop


Menonton film di bioskop sudah menjadi tren dan bagian dari gaya hidup jaman ini. Sebagai penonton kepo, terkadang saya tidak bisa menahan keinginan untuk mencari tahu bagaimana proses distribusi film hingga sampai ke bioskop-bioskop lokal dalam waktu yang hampir bersamaan dan sebenarnya media apa yang dipakai untuk bisa menghasilkan kualitas gambar yang tetap detail meskipun diproyeksikan ke layar berukuran jumbo. Dan pengalaman saya menonton film The Hustle di XXI kemarin mununtun saya untuk menemukan secercah jawaban dari sebagian teka-teki di atas.

Biasanya sambil menunggu filmnya mulai, penonton akan disuguhi sejumlah iklan atau trailer film terbaru yang akan segera tayang. Nah, tidak seperti biasanya, kemarin saya mengalami momen kaget ketika tepat sebelum filmnya diputar. Hanya selama sepersekian detik, di layar sempat muncul penampakan janggal seperti di bawah ini.



Ya, betul. Itu adalah tampilan desktop GNOME 2 jadul yang biasa terpasang di sistem operasi Oracle, GNU/Linux atau freeBSD. Pertanyaan yang kemudian mengusik pikiran saya adalah mengapa harus Gnome 2 yang dipakai? Setelah browsing sana-sini, akhirnya pencerahan pun berhasil saya dapatkan dari forum kaskus dan wikipedia.

Ternyata format file multimedia yang bisa dibaca mesin proyektor digital di bioskop-bioskop - seperti Cinema 21, XXI, CGV, Platinum Cineplex - adalah DCP (Digital Cinema Package) atau biasa disebut composition dalam industri perfilman. Jadi bukan yang format .mp4,.mov,.avi ataupun .vob yang biasanya ada di dalam kepingan DVD. Paket berformat DCP ini berisi track gambar ukuran 2K hingga 4K yang dikompresi menggunakan JPEG 2000 dan track audio WAV multichannel yang tidak dikompresi (24-bit linear PCM). Jadi bisa dipastikan ukurannya akan jauh lebih besar beberapa kali lipat dari format film standar seperti mp4.

Nah, film yang sudah dalam bentuk DCP (biasanya sudah dienkripsi untuk menghindari penyalinan berkas secara ilegal) ini nantinya akan di-ingest (disalin) ke media penyimpanan (hard disk) server di bioskop yang biasanya menggunakan format filesystem jenis EXT2 atau EXT3 agar bisa dibaca proyektor. Di sinilah sumber pencerahannya. EXT2 dan EXT3 adalah filesystem native yang dipakai di OS berbasis GNU/Linux. Sebagai perbandingan, MacOS memakai filesystem native APFS, OS Windows 7-10  memakai NTFS, freeBSD sekarang memakai ZFS. Jadi, tidak ada yang aneh dan sangat masuk, Pak Eko, jika desktop GNOME dan GNU/Linux sedang aktif bekerja dibalik layar ketika para penonton duduk manis sambil mengunyah popcorn.

Selamat menonton.

Thursday, June 29, 2017

Welcome to emergency mode! (Solusi Gagal Masuk Default Mode di Ubuntu)

/dev/sda4: recovering journal
/dev/sda4: clean, 193225/9527296 files, 1610280/38077184 blocks
Welcome to emergency mode! After logging in, type "journalctl -xb" to view 
system logs, "systemctl reboot" to reboot, "systemctl default" or ^D to
try again to boot into default mode.
Press Enter for maintenance   
(or press Control-D to continue):

Pernah menerima pesan error seperti di atas saat booting Ubuntu? Anda otomatis masuk sebagai root dalam mode CLI dan tidak bisa masuk ke desktop; tidak bisa masuk ke default mode meskipun sudah mengikuti instruksi dengan mengetikkan perintah systemctl default.

Salah satu penyebab masalah gagalnya masuk ke default mode adalah adanya perubahan mapping partisi karena aktifitas penghapusan atau pembuatan partisi baru yang dilakukan lewat live DVD atau pada saat instalasi OS lain dalam satu hard disk. Penghapusan atau penambahan partisi baru inilah yang menyebabkan UUID masing-masing partisi berubah, sehingga sistem tidak bisa mengenali partisi yang akan dipakai.

UUID adalah singkatan dari Universally Unique Identifier. ID khusus ini dipakai oleh sistem untuk mengidentifikasi semua partisi yang terhubung.
Untuk melihat mapping partisi beserta UUID masing-masing, ketik perintah sudo blkid di terminal.

yobi@HP-Notebook:~$ sudo blkid
[sudo] password for yobi:
/dev/loop0: TYPE="squashfs"
/dev/loop1: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/loop3: TYPE="squashfs"
/dev/sda1: UUID="3124-8BE1" TYPE="vfat" PARTUUID="60652cf6-b97f-499b-a8f5-2865038457e9"
/dev/sda2: UUID="47824297-f018-424d-beb9-b4cee70368de" TYPE="ext4" PARTUUID="4fc16336-d9b6-4d47-911b-ac683e0dfd54"
/dev/sda3: UUID="329a5518-8af6-4aee-9f34-a8892cd3ff0c" TYPE="ext4" PARTUUID="6772e187-92d1-478f-8d64-01375425a830"
/dev/sda4: UUID="b0f644e9-b6d9-4216-b0c0-3d383c46dd2c" TYPE="ext4" PARTUUID="a0ebf800-e846-4647-9d0c-955b9643cc95"
/dev/sda5: UUID="16e6dd60-14a8-4baa-9607-72e5e21edee0" TYPE="ext4" PARTUUID="4fe67ed1-3142-4cd2-b181-0cd592fea9c2"
/dev/sda6: UUID="660a5509-aa5e-4966-b20b-a92a30d7bd81" TYPE="swap" PARTUUID="4414af52-cadd-49e5-b80d-93e234264098"

Sekarang bandingkan dengan mapping partisi yang tersimpan di sistem. Ketik perintah sudo nano /etc/fstab untuk melihat sekaligus mengedit file system table. Perhatikan UUID partisi /dev/sda1 yang ditandai dengan warna kuning.

GNU nano 2.5.3 File: /etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda4 during installation
UUID=b0f644e9-b6d9-4216-b0c0-3d383c46dd2c / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda1 during installation
UUID=190B-BCC0 /boot/efi vfat umask=0077 0 1
/dev/mapper/korora-swap none swap sw 0 0

Ketidaksesuaian UUID partisi /dev/sda1 (/boot/efi) inilah yang menjadi biang kerok masalah. Solusinya, edit UUID partisi sesuai mapping partisi yang benar. Dalam kasus di atas yang perlu disesuaikan adalah UUID untuk partisi /boot/efi dan partisi untuk swap, sehingga jadinya seperti ini.

# /boot/efi was on /dev/sda1 during installation
UUID=3124-8BE1 /boot/efi vfat umask=0077 0 1
/dev/sda6 none swap sw 0 0

Tekan Ctrl+o untuk menyimpan perubahan.
Tekan Ctrl+x untuk keluar dari text editor nano.

Lalu tekan perintah berikut untuk reboot:
sudo systemctl reboot

Setelah reboot, ta-da. Anda bisa login normal seperti sedia kala.
Selamat Idul Fitri. Mohon maaf lahir-batin.

Saturday, May 27, 2017

Cara Mengatasi Sinyal Lemah pada Wi-fi Adapter Realtek RTL8723BE di Fedora (GNU/Linux)

Ada yang aneh waktu kemarin memasang OS Fedora 25 di laptop HP 14am514TU. Dengan versi kernel 4.10 semua hardware berfungsi dengan lancar kecuali wi-fi. Entah kenapa sinyal yang diterima begitu lemah. Bahkan ketika berada hanya 3 meter dari router, sinyal yang tertangkap hanya 50% saja.

Setelah browsing sana-sini, akhirnya ketemu juga cara mengakalinya di blog milik Mas Angga Dwi Perdana yang inti solusinya adalah perlu instal driver Realtek rtlwifi terbaru. Driver di atas juga bisa diterapkan pada seri wi-fi adapter Realtek lain seperti rtl8192ce, rtl8192se, rtl8192de, rtl8188ee, rtl8192ee, rtl8723ae, dan rtl8821ae.

Cuma masalahnya tutorial dari Mas Angga diperuntukkan bagi pengguna distribusi Ubuntu yang berbasis Debian, sementara distribusi Linux yang saya pakai berbasis RedHat yang memiliki perbedaan dalam hal manajemen paketnya. Namun karena driver yang akan dipasang berupa file terkompresi .zip (bukan paket .deb) dan harus kompile sendiri paketnya, saya pun beranggapan bahwa langkah-langkah instalasinya tetap bisa diterapkan di Fedora. Setelah dicoba memang benar, proses instalasi sukses. Hanya saja ada 1 parameter yang harus disesuaikan, yaitu penamaan wi-fi saat setting konfigurasi. Jika di Ubuntu wi-fi adapternya terdeteksi sebagai wlo1, maka di Fedora akan terdeteksi sebagai wlp2s0. Jadi saya hanya perlu mengganti “wlo1” dengan “wlp2s0”, selebihnya tinggal copy-paste perintah sesuai petunjuk yang ada. Dan hasil akhirnya, sinyal wi-fi bisa ditangkap full 100%.

Nah, bagi pengguna OS Fedora yang mengalami problem serupa, silakan dicoba langkah-langkah memasang driver terbaru Realtek rtlwifi berikut ini:
1. Buka Terminal
2. Ketik perintah berikut di Terminal untuk cek nama wi-fi adapternya: iwconfig
    Di sistem Fedora, wi-fi adapternya akan muncul dengan nama “wlp2s0”.

3. Download driver wi-fi adapternya di sini : https://github.com/lwfinger/rtlwifi_new/tree/rock.new_btcoex
File-nya berekstensi .zip berukuran sekitar 1.5 Mb saja. Simpan file tersebut dalam direktori Desktop lalu ekstrak file nya.
4. Dari Terminal masuk ke direktori Desktop dengan mengetikkan perintah: cd Desktop
5. Masuk ke folder hasil ekstrak dengan mengetikkan perintah: 
    cd rtlwifi_new-rock.new.btcoex
6. Ketikkan perintah : make
7. Setelah proses selesai, ketikkan perintah : sudo make install
8. Masukkan password user.
9. Masukkan perintah ini : sudo modprobe -rv rtl8723be
10. Ketikkan perintah : sudo modprobe -v rtl8723be ant_sel=2
11. Ketikkan perintah : sudo ip link set wlp2s0 up
12. Ketikkan perintah berikut dalam terminal untuk mencari semua sinyal wifi yang ada : 
         sudo iw dev wlp2s0 scan
13. Agar konfigurasi ini dapat digunakan secara permanen, silahkan ketik perintah berikut: 
       echo "options rtl8723be ant_sel=2" | sudo tee /etc/modprobe.d/50-rtl8723be.conf

Thursday, May 11, 2017

Program Python: Penghitung Hari Pasaran dan Neptu

Dalam penanggalan Jawa, selain 7 nama hari dan 12 bulan, ada juga nama pasaran yang menamai urutan hari dengan 5 nama yang berulang: Legi, Pahing, Pon, Wage, Kliwon. Nah, berawal dari percakapan saya dengan Mbah Putri yang sering menanyakan pasaran, akhirnya saya berinisiatif menulis program sederhana penghitung hari pasaran seperti di bawah ini. Coding aslinya saya ambil dari blognya Mas Fajar Rukmo. Di sini saya hanya menambahkan perhitungan neptu-nya saja. Silakan copy-paste codingnya di text editor lalu simpan dengan ekstensi .py. Program sederhana ini bisa dijalankan lewat Terminal dengan mengetikkan perintah: python nama_file.py

"Sumber: https://fajarrukmo.wordpress.com/2014/01/14/mencari-hari-dan-pasaran-a-k-a-weton-menggunakan-python/"
"Tambahan perhitungan neptu oleh Yobi"

print "======================================================"
print " Ngitung Pasaran (Weton) lan Neptu"
print "======================================================"

from datetime import date

d1 = date(1900, 1, 1)

hari = [
'Senin',
'Selasa',
'Rabu',
'Kamis',
'Jum`at',
'Sabtu',
'Minggu'
]

pasaran = [
'Pahing',
'Pon',
'Wage',
'Kliwon',
'Legi'
]

bln_kata = [
'Wulan 0',
'Januari',
'Februari',
'Maret',
'April',
'Mei',
'Juni',
'Juli',
'Agustus',
'September',
'Oktober',
'November',
'Desember'
]
def main():
tgl = input("Ketik tanggal : ")
bln = input("Ketik wulan ke : ")
thn = input("Ketik tahun : ")
d0 = date(thn,bln,tgl)
beda = d0 - d1
"print beda.days"
harike = (beda.days) % 7
pasaranke = (beda.days) % 5


print ""
print tgl,bln_kata[bln],thn,">>>", hari[harike],pasaran[pasaranke]
pass

neptuhr=0
neptups=0
if harike ==0:
neptuhr=4
elif harike ==1:
neptuhr=3
elif harike==2:
neptuhr=7
elif harike==3:
neptuhr=8
elif harike==4:
neptuhr=6
elif harike==5:
neptuhr=9
elif harike==6:
neptuhr=5

if pasaranke==0:
neptups=9
elif pasaranke==1:
neptups=7
elif pasaranke==2:
neptups=4
elif pasaranke==3:
neptups=8
elif pasaranke==4:
neptups=5

neptu=neptuhr + neptups
print hari[harike],"(",neptuhr,")"
print pasaran[pasaranke],"(",neptups,")"
print "Neptu :", neptu


if __name__ == '__main__':
main()

Wednesday, October 5, 2016

Cara Instal Apache, MySQL, PHP di Fedora 22

Cara Instal Apache, MySQL, PHP di Fedora 22

Artikel ini saya tulis untuk membantu teman-teman yang ingin belajar membangun web server khususnya yang berbasis GNU/Linux. Untuk membangun web server ada empat komponen utama yang harus dipasang. Keempat komponen ini biasanya disingkat LAMP (Linux, Apache, MySQL, PHP). Dengan asumsi bahwa di mesin teman-teman sudah terinstal Linux, maka saya hanya akan membahas cara memasang 3 komponen lainnya, yaitu Apache, MySQL, dan PHP.

Setiap distribusi Linux memiliki jenis manajemen paket aplikasi yang berbeda, sehingga untuk menginstal suatu paket dibutuhkan perintah yang berbeda pula. Perlu dicatat bahwa distribusi (baca: distro) Linux yang saya pakai untuk tutorial ini adalah Fedora, salah satu distribusi yang dikembangkan oleh Fedora Project dan disponsori oleh perusahaan RedHat. Sebagai tambahan informasi, Fedora versi 22 dirilis bulan Mei 2015 lalu. Sejak versi 22, secara default Fedora memakai metode manajemen paket baru bernama DNF, menggantikan metode sebelumnya yang bernama YUM. Sebenarnya tutorial ini bisa juga diterapkan di Fedora versi selanjutnya dan distribusi turunannya seperti Kororā 22 (distro asal Australia) dan IGOS Nusantara 11 (distro asal Indonesia yang disponsori LIPI) karena kedua distro yang saya sebut tadi juga berbasis Fedora dan memakai sistem manajemen paket yang sama.

Sebelum memulai proses instalasi, silakan nyalakan dulu mesin Linux anda dan satu hal yang paling penting, pastikan sistem bisa terhubung ke Internet. Jika anda memakai Fedora server tanpa GUI, maka bisa langsung login. Jika anda memakai Fedora versi desktop, setelah login silakan buka aplikasi bernama Terminal yang tampilannya seperti di bawah ini.


Dari terminal ini kita akan mengetikkan perintah-perintah 'ajaib' untuk menginstal dan menjalankan aplikasi. Jangan lupa tekan ENTER setelah menuliskan setiap perintah ya.

Langkah 0: Update sistem

Untuk menghindari masalah dependensi paket yang mungkin terjadi, sebaiknya perlu dilakukan update sistem terlebih dahulu dengan mengetikkan perintah:
sudo dnf update

Sebagai catatan, proses update ini bisa memakan waktu sebentar atau lama tergantung kecepatan Internet dan jumlah paket yang diunduh. Jika anda sering melakukan update secara teratur, paket yang diunduh akan relatif sedikit.

Langkah 1: Instal Apache

Apache adalah aplikasi yang berfungsi sebagai web server. Untuk memasangnya, silakan ketik perintah ini di terminal:
sudo dnf install httpd

Untuk menjalankan Apache, ketik perintah ini:
sudo systemctl start httpd.service

Untuk mengecek apakah Apache sudah terinstal dengan benar, silakan buka web browser dan masuk ke IP address server (Misal: http://12.34.56.798) . Jika muncul halaman default Fedora berarti instalasi berhasil.
Untuk mengetahui IP address server, ketikkan perintah ini:
ifconfig eth0 | grep inet | awk '{ print $2 }'

Langkah 2: Instal MySQL/MariaDB

MySQL adalah aplikasi sistem manajemen database yang dipakai untuk mengolah dan memanggil data yang tersimpan di server virtual. MariaDB merupakan versi pengembangan terbuka dan independen dari MySQL.
Untuk memasang MySQL, ketik perintah:
sudo dnf install mysql mysql-server

Untuk menjalankannya, ketik:
sudo systemctl start mariadb.service

Setelah instalasi, buat password root MySQL dengan mengetikkan perintah:
sudo /usr/bin/mysql_secure_installation

Akan muncul perintah seperti ini:
Enter current password for root (enter for none):

Karena baru memakai MySQL pertama kali, maka password root belum ada. Langsung saja tekan ENTER.

OK, successfully used password, moving on…

Fedora secara otomatis akan membuat settingan MySQL. Ikuti saja perintahnya. Jika muncul pertanyaan jawab Y saja.

Langkah 3: Instal PHP

PHP adalah bahasa pemrograman web yang banyak dipakai untuk membangun halaman web dinamis.
Untuk memasang PHP, ketik perintah ini:
sudo dnf install php php-mysql
Lalu jawab Y saja jika muncul pertanyaan.

Untuk mengecek modul/library PHP apa saja yang tersedia untuk dipasang, ketik perintah ini:
dnf search php-
Untuk mengetahui lebih detil fungsi dari masing-masing modul, silakan ketik perintah:
dnf info nama_modul_yang _tersedia

Untuk menginstal modul yang dipilih, ketik:
sudo dnf install nama_modul_yang_akan_diinstal

Beberapa modul bisa diinstal sekaligus dengan cara memisahkan nama modul dengan spasi. Misal:
sudo dnf install modul1 modul2 modul3

Sampai tahap ini LAMP (Linux, Apache, MySQL, PHP) sudah terpasang. Untuk mengatur supaya aplikasi berjalan otomatis begitu server dihidupkan, ketik perintah berikut:
sudo chkconfig httpd on
sudo chkconfig mariadb on

PHP tidak perlu diatur, karena secara otomatis akan dijalankan juga ketika Apache-nya berjalan.

Langkah 4: Cek PHP di server

Meskipun LAMP terinstal di server virtual, komponen-komponennya masih bisa dicek secara online dengan membuat 'quick PHP info page'. Untuk membuat info page ini, instal dulu text editor NANO dengan perintah:
sudo dnf install nano
Lalu buat file dengan nama info.php dengan perintah berikut:
sudo nano /var/www/html/info.php

Tambahkan 3 baris berikut pada file:
<?php
phpinfo();
?>

Simpan file (tekan Ctrl+O lalu tekan Enter) dan keluar dari text editor (tekan Ctrl+X).
Restart Apache dengan perintah:
sudo systemctl restart httpd.service

Sekarang buka web browser dan buka info pagenya di:
http://12.34.56.789/info.php
(Ganti alamat IP dengan punya anda)

Selamat belajar dan jangan takut mencoba sesuatu yang baru.


Diterjemahkan dari artikel Ryan Quinn (digitalocean.com) dengan beberapa penambahan.






Thursday, October 16, 2014

Rude Expressions You Need to Know


To pick one's nose
If you pick your nose, you remove substances from inside your nose.
Edgar, don't pick your nose, dear...

To fart
If someone farts, air is forced out of their body through their anus. (INFORMAL, RUDE)
He'd been farting all night.

To break wind
If someone breaks wind, they release gas from their intestines through their anus.
Don't break wind in my room!

To shit
To have a shit
To shit or to have a shit means to get rid of solid waste matter from the body. (INFORMAL, RUDE)
Damn! The bird shat on my car.
Wait a second. He's going to have a shit first.

To move/open/empty one's bowels
You can refer in a polite way to someone getting rid of the waste from their body by saying that they move, open, or empty their bowels.
I can't stand anymore. I need to empty my bowels.

To wet one's bed/clothes
To wet themselves
If people, especially children, wet their beds or clothes or wet themselves, they urinate in their beds or in their clothes because they cannot stop themselves.
A quarter of 4-year-olds frequently wet the bed...
To put it plainly, they wet themselves.

References: Collins Cobuild English Dictionary & Artha 1.0.3 (based on WordNet 3.0)

Cara Setting LPD sebagai Alternatif Samba Printer Sharing

Akhir-akhir ini saya mengalami masalah yang cukup membuat frustasi ketika harus mencetak dokumen dari Ubuntu 18.04 ke shared printer di Wi...