header image
 

Export Display di Kubuntu (error cannot connect to X server)

Seringkali kita membutuhkan aplikasi yang membutuhkan X server dengan menggunakan user root namun dijalankan dari session user biasa, tidak dapat berjalan dan selalu keluar pesan : cannot connect to X server

Misalnya : kita login sebagai user “abc” lalu kita buka konsole. Lalu kita ingin menjalankan aplikasi X (konqueror misalnya) namun menggunakan user root. Biasanya yang kita lakukan adalah:


abc@myhost:~$ sudo su -
root@myhost:~# konqueror

namun di kubuntu biasanya yang keluar adalah pesan:

cannot connect to X server

Ini dikarenakan X server untuk session root di konsole belum diaktifkan (mungkin bahasanya begitu :P)

Untuk dapat menjalankan aplikasi X tersebut kita bisa menjalankan beberapa perintah sbb:
dari user abc kita jalankan perintah:


abc@myhost:~$ xauth extract /tmp/display $DISPLAY

lalu masuk ke root


abc@myhost:~$ sudo su -

Lalu dari user root kita merge DISPLAY:


root@myhost:~# xauth merge /tmp/display
root@myhost:~# export DISPLAY=:0.0

Lalu jalankan aplikasi X nya (konqueror misalnya)


root@myhost:~# konqueror

tarrraa…. konqueror pun akan tampil :-P.

Selain cara diatas kita juga bisa melakukan cara yang lain (namun kurang aman menurut beberapa sumber di internet) yaitu:
dari user biasa jalankan perintah ini
#as normal user


abc@myhost:~$ xhost +local:root

xhost +local:root

dari root jalankan perintah ini

root@myhost:~# export DISPLAY=:0.0

lalu jalankan aplikasinya (misalnya konqueror)

root@myhost:~# konqueror

Catatan tambahan
Konqueror disini hanya untuk contoh saja bukan berarti untuk menampilkan konqueror dengan privilege root kita harus menjalankan itu. Karena untuk menampilkan konqueror dengan privilege root kita bisa menjalankan perintah “kdesu” dari user biasa:


abc@myhost:~$ kdesu konqueror –profile filemanagement

the pirates has moved on….

visit www.my4j4x.com

Membuat Trigger di MySQL 5

Trigger merupakan fitur standar pada RDBMS seperti Oracle, SQL Server, PostgreSQL, dsb. Namun pada MySQL fitur ini baru diterapkan pada MySQL versi 5.02. Jika anda ingin menggunakan Trigger pada MySQL gunakanlah MySQL versi terbaru. Saat tulisan ini dibuat yang terbaru adalah versi 5.0.41 (5.1 masih beta, versi 6 masih alpha) dan dapat anda download di sini.

Disini saya mencoba membuat database latihan.

create database latihan;

Buat table employee (nama tablenya terserah pada anda, disini saya membuat table dengan nama ‘employee’)

create table employee (
employee_id varchar(20) primary key,
name varchar(100),
birthdate date,
marriage_status char(1),
phone_number1 varchar(20),
phone_number2 varchar(20),
address text) engine=innodb;

Buat table employee2 (nama tablenya juga terserah pada anda, disini saya membuat table dengan nama ‘employee2′).
Tabel ini digunakan untuk percobaan trigger.

create table employee2 (
employee_id varchar(20) primary key,
name varchar(100),
birthdate date,
marriage_status char(1),
phone_number1 varchar(20),
phone_number2 varchar(20),
address text) engine=innodb;

Skenario yang akan dilakukan adalah jika mengisi satu record pada tabel employee maka tabel employee2 juga akan terisi secara otomatis dengan nilai yang sama dari yang diinputkan pada tabel employee. Untuk itu kita buat trigger (disini kita memakai nama employee_BI / before insert), sebelumnya set delimiter pada console dengan “//”.

Catatan: Untuk membuat trigger kita harus memiliki SUPER privilege;

delimiter //

create trigger employee_BI BEFORE INSERT
on employee
FOR EACH ROW
BEGIN
INSERT INTO employee2 values (NEW.employee_id, NEW.name, NEW.birthdate, NEW.marriage_status, NEW.phone_number1, NEW.phone_number2, NEW.address);
END;


//delimiter ;

Sekarang cobalah untuk menginsert pada table employee. Lalu lihat pada tabel employee2.
Selamat mencoba, semoga bermanfaat. :)

RDP Server di linux

RDP Server di linux? Yap linux juga bisa dijadikan server RDP sehingga pengguna windows bisa remote/memiliki session melalui protokol RDP dengan menggunakan xrdp. Saya diberitahu tentang RDP ini oleh rindra, dan dia telah mencobanya pada SuSE Linux 10.0 nya dan berhasil. Tetapi ketika diminta mengajari entah mengapa… mungkin karena terlalu sibuk jadi… ya tau lah :). Akhirnya saya coba sendiri sambil minta ditemenin si om. Saya mencobanya pada SuSE Linux Enterprise Server 10.

1. Siapkan Header File untuk openssl

Install file-file header untuk openssl (terdapat dalam package instalasi)

2. Instal Header File untuk pam

Install file-file header untuk pam (terdapat dalam CD Instalasi untuk SLES apabila tidak ada package tersebut, dapat menggunakan CD instalasi SLED 10 atau openSuSE 10.1). Pada Software Management, search saja package “pam”.

3. Download source code XRDP (saat ini masih versi 0.3) dari http://xrdp.sourceforge.net/

4. Dekompress source code tersebut dengan perintah

tar -xvzf xrdp-0.3.tar.gz (saya menggunakan xrdp versi 0.3)

5. lalu masuk ke direktori xrdp-0.3

cd xrdp-0.3

6. lalu jalankan perintah make

make

7. Setelah selesai jalankan make install

make install

8. Ambil script init.d untuk startup otomatisnya di sini

http://www.opensourcehowto.org/uploads/xrdp.txt

9. simpan file tersebut di dalam direktori /etc/init.d/ dan beri nama xrdp

10. Ubah attribut filenya menjadi executables

chmod ug+rwx /etc/init.d/xrdp

11. Sekarang coba jalankan xrdp

- /etc/init.d/xrdp status (untuk melihat status xrdp)
- /etc/init.d/xrdp start (untuk menjalankan xrdp)
- /etc/init.d/xrdp stop (untuk menghentikan xrdp)

Selamat mencoba, semoga berhasil. :)

Buka msconfig/regedit tapi yang keluar notepad?

Hari ini teman saya (indra) nge Buzz :P di YM, dan menanyakan tentang masalah pada komputer yang sedang dia tangani. Masalahnya adalah ketika dia membuka msconfig atau regedit pada windowsnya yang keluar adalah notepad.

Ketika ditanyakan itu saya juga tidak tahu :D, namun karena inget punya om yang ganteng akhirnya saya tanya deh ama si om :P. Setelah googling sana sini dapet beberapa point (gabungan dari echo.or.id sama dari kaskus.com) saya coba tulis disini:

Cara pertama adalah:

  1. Buka notepad lalu ketikkan kode berikut:

    [Version]
    Signature=”$Chicago$”
    Provider=Vaksincom
    [DefaultInstall]
    AddReg=UnhookRegKey
    DelReg=del
    [UnhookRegKey]
    HKLM, Software\CLASSES\batfile\shell\open\command,,,”"”%1″” %*”
    HKLM, Software\CLASSES\comfile\shell\open\command,,,”"”%1″” %*”
    HKLM, Software\CLASSES\exefile\shell\open\command,,,”"”%1″” %*”
    HKLM, Software\CLASSES\piffile\shell\open\command,,,”"”%1″” %*”
    HKLM, Software\CLASSES\regfile\shell\open\command,,,”regedit.exe “%1″”
    HKLM, Software\CLASSES\scrfile\shell\open\command,,,”"”%1″” %*”
    HKLM, SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon, Shell,0, “Explorer.exe”
    [del]
    HKLM, SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Msconfig.exe
    HKLM, SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\regedit.exe

  2. Simpan dengan ekstensi file(*.inf, misal test.inf)
  3. Lalu dari windows explorer klik kanan file test.inf lalu pilih install

Cara kedua adalah:

  1. buka Start terus pilih Run (Start -> Run)
  2. terus tulis perintah ini (di kotak dialog Run)

    reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\regedit.exe" /f

Cara ketiga adalah menggunakan software Autorun dari sysinternal:

  1. Download aplikasi sysinternal  (sysinternal ini sudah diambil alih oleh microsoft) di sini.
  2. jalankan program autoruns nya.
  3. setelah dijalankan programnya cari TAB Image Hijacks terus pilih TAB itu
  4. selanjutnya hapus semua entry yang ada di TAB Image Hijacks itu KECUALI :
    “c:\winnt\system32\ntsd.exe” di Image Path nya… (ingat yang value nya “ntsd.exe” jangan dihapus)

Oke that’s it (mudah2an berhasil), thanx buat teman-teman atas ilmunya tentang cara ini di echo.or.id dan di kaskus.com. Insya Allah ilmu yang berguna ini akan dibalas dengan yang berlipat ganda oleh Allah SWT. Amiin…

VBMySQLDirect : API VB6 untuk mengakses MySQL

Mengapa VBMySQLDirect? bukankah untuk mengakses MySQL di VB bisa menggunakan driver MyODBC dari MySQL? yup memang untuk mengakses database MySQL di Visual Basic bisa menggunakandriver ODBC dari MySQL yaitu MyODBC. Namun sudah menjadi rahasia umum bahwa menggunakan driver ODBC sedikit lemot (sedikit loh ya, tapi ya klo banyak juga gpp) :D.

API ini dibuat oleh Mike Hyler dengan maksud untuk dapat mengakses database MySQL secara langsung, sehingga untuk dapat mengakses database MySQL dapat menggunakan perintah :


dim conn as new VBMYSQL_Connection
conn.open “servername”,”username”,”password”,”port[optional]“

sekilas mirip dengan syntax php :


$conn=mysql_connect(”servername”,”username”,”password”,”port[optional]“)

Memindahkan datafile pada Oracle 9i (9.2.0.4)

Mungkin sangat sederhana sekali memang, tapi tak apalah. Saya hanya ingin menulis tentang cara memindahkan datafile yang saya lakukan beberapa hari yang lalu pada database Oracle 9i.

Beberapa hari yang lalu saya sempat pusing melihat freespace pada salah satu partisi data (anggaplah nama partisinya itu “/partData”) pada server DTCenter di kantor. Pusing karena freespace hanya tinggal 5% sedangkan pertumbuhannya 1%/hari, berarti saya hanya punya waktu +/- 20 hari lagi. Untuk menambah space tidak bisa secepat itu dikarenakan space yang ada di SAN (storage Area Network) sudah penuh, sehingga diperlukan penambahan yang melibatkan vendor dari SAN.

Sambil pusing, saya coba perhatikan datafile yang ada di partisi “/partData”. Nah… ternyata ada beberapa datafile yang tidak seharusnya berada di situ yaitu datafile index (dari tablespace index). Datafile tersebut (anggap saja namanya) :
- A_IDX1.dbf (2,5 GB),
- A_IDX2.dbf (2,5 GB),
- A_IDX3.dbf (2,5 GB),
- A_IDX4.dbf (2,5 GB),
- A_IDX5.dbf (2,5 GB),
- B_IDX1.dbf (5,1 GB)

Datafile index yang cukup besar (mengingat partisi “/partData” hanya memiliki space 77GB). Datafile ini seharusnya berada pada partisi “/partIndex” (yang juga hanya memiliki space 77GB, namun memiliki freespace sekitar 49%).

Akhirnya saya memutuskan untuk memindahkan datafile index yang cukup besar tersebut (+/- 17 GB) ke “habitatnya” di “/partIndex”. Langkah-langkah yang dilakukan adalah:

  1. Meminta user untuk tidak connect sementara. (mengkill user yang masih connect :D)
  2. shutdown db (buat checkpoint terlebih dahulu)
  3. alter system checkpoint

    kemudian shutdown

    shutdown abort

  4. copy via OS datafile yang akan dipindah A_IDX01.dbf,A_IDX02.dbf, A_IDX03.dbf, A_IDX04.dbf, A_IDX05.dbf, B_IDX01.dbf
  5. cp /partIndex/A_IDX0*.dbf /partData -p
    cp /partIndex/B_IDX0*.dbf /partData -p

  6. lalu di startup mount dulu, jalankan perintah
  7. #sqlplus /nolog
    sql> conn / as sysdba
    sql> startup mount

  8. lalu jalankan perintah
  9. ALTER DATABASE RENAME FILE '/partDATA/A_IDX01.dbf' TO '/partIDX/A_IDX01.dbf'

  10. lalu di shutdown lagi, jalankan perintah
  11. shutdown

  12. lalu di startup secara normal, jalankan perintah:
  13. startup

  14. Setelah database berjalan dengan lancar hapuslah datafile index yang ada di partisi /partIndex dengan menjalankan perintah:
  15. rm -r -f /partIndex/A_IDX0*.dbf
    rm -r -f /partIndex/B_IDX0*.dbf

Demikian mudah-mudahan bisa bermanfaat.

Broadcomm wireless nic (Acer Aspire 3003) di Suse 10


Browsing internet di dunia maya dengan menggunakan wireless memang menyenangkan. Karena tidak perlu dipusingkan dengan kabel yang melilit. Tetapi ketika saya menginstall sistem operasi linux SuSE 10.0 pada laptop Acer Aspire 3003 dimana semua proses pendeteksian hardware sukses, namun BroadComm wireless network card nya tidak berfungsi.

Akhirnya coba cari cara di internet bersama paman (Google) dan terdengar samar-samar tentang ndiswrapper (apaan sih tuh), sampai akhirnya menemukan page http://egofanatic.com/linuxonlaptops/Dell600m.php#WirelessNotes

Pada page ini dijelaskan dengan cukup baik tentang gambaran ndiswrapper serta langkah-langkah pengkonfigurasian broadcomm wireless network card pada laptop dell dengan SuSE 10 (saya berfikir seharusnya bisa juga untuk Aspire saya :D).

Jadi inti dari ndiswrapper itu sepertinya untuk meload driver wireless network card untuk windows XP untuk di jalankan di linux (wow keren :D).


Menggunakan Ndiswrapper untuk menjalankan wireless cukup mudah pada SuSE 10.

Berikut adalah langkah-langkahnya, semua perintah dibawah ini harus dilakukan oleh root.

  1. Install ndiswrapper dan wireless tool (package ini terdapat pada YAST)
  2. Buat direktori untuk menampung driver Broadcomm versi Windows XP

    mkdir $HOME/driver-broadcomm

  3. Siapkan driver Broadcomm untuk windows XP, yang berisikan antara lain file bcmwl5.inf dan bcmwl5.sys. Driver nya terdapat di CD bawaan atau bisa juga diambil dari website Acer. Copykan file tersebut kedalam linux (atau semua file juga boleh :D)

    cp [direktori/file driver] $HOME/driver-broadcomm

  4. Masuk ke direktori $HOME/driver-broadcomm, lalu jalankan perintah

    ndiswrapper -i bcmwxx.inf

    masukkan file *.inf yang sesuai dengan file yang ada.

    Pada layar akan terlihat pesan instalasi driver.

  5. Untuk memastikan apakah driver telah terinstall jalankan perintah:

    ndiswrapper -l

    Seharusnya tampil pesan kurang lebih seperti ini:

    Installed ndis drivers:

    bcmwxx driver present, hardware present

    Pesan ini menunjukkan bahwa driver bcmwxx telah terinstall dan dapat mengenali hardware wireless network cardnya.

  6. Lalu masukkan module ndiswrapper ke modprobe dengan perintah:

    ndiswrapper -m

    Lalu akan tampil pesan kurang lebih seperti ini:

    Adding “alias wlan0 ndiswrapper” to /etc/modprobe.d/ndiswrapper

  7. Lalu load driver wireless nya dengan menggunakan modprobe, dengan perintah:


    modprobe ndiswrapper

    Tidak ada tampilan dari perintah ini, jadi gunakan perintah dmesg untuk menampilkan pesan yang berhubungan dengan wireless network card. Jika berhasil akan tampil kurang lebih pesan seperti ini:

    Adding “alias wlan0 ndiswrapper” to /etc/modprobe.d/ndiswrapper

    ndiswrapper: module not supported by Novell, setting U taint flag.

    ndiswrapper version 1.2 loaded (preempt=no,smp=no)

    ndiswrapper: driver bcmwl5 (Broadcom,06/25/2004, 3.40.73.0) loaded

    ACPI: PCI Interrupt 0000:02:03.0[A] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5

    ndiswrapper: using irq 5

    SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC= SRC=10.10.5.25 DST=224.0.0.251 LEN=76 TOS=0×00 PREC=0×00
    TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=56

    wlan0: ndiswrapper ethernet device 00:70:84:fb:8b:43 using driver bcmwl5, configuration file 14E4:4324:1028:0003.5.conf

    wlan0: encryption modes supported: WEP

Pada psan dmesg diatas driver ndiswrapper telah berhasil di load

ndiswrapper version 1.2 loaded (preempt=no,smp=no)

Untuk menggunakan wireless nya gunakan Wireless Tool. Secara default radio wireless adalah off, gunakan Fn+F2 untuk mengaktifkan radionya sebelum menjalankan Wireless Tool untuk men-scan dan connect ke jaringan wireless (infrastructure/ad hoc).

Jalankan perintah iwconfig pada console

iwconfig

dan pada layar akan tampil pesan kurang lebih sebagai berikut:


wlan0 IEEE 802.11g ESSID:off/any

Mode:Managed Frequency:2.462 GHz Access Point: 00:00:00:00:00:00

Bit Rate:54 Mb/s Tx-Power:-2147483648 dBm

RTS thr:2347 B Fragment thr:2346 B

Encryption key:off

Power Management:off

Link Quality:100/100 Signal level:-10 dBm Noise level:-256 dBm

Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0

Tx excessive retries:0 Invalid misc:95949 Missed beacon:0

Saat ini interface wlan0 belum terhubung ke access point, karena kita belum memerintahkannya untuk connect ke jaringan wireless. Untuk men-scan jaringan wireless yang ada (infrastructure/ad hoc) jalankan perintah:

iwlist wlan0 scanning

Seharusnya jaringan wireless yang ada akan tampil pada layar.

Untuk connect ke WiFiTEST access point, jalankan perintah:


iwconfig wlan0 essid WiFiTEST mode managed enc ABCDEF1234567890ABCDEF1234 [1] open channel 11

dengan asumsi


SSID Accesspoint : WiFiTEST
Encription Key    : ABCDEF1234567890ABCDEF1234 kunci pertama [1]
Channel         : 11

Lalu aktifkan interface wlan0 nya, dengan perintah:


ifconfig wlan0 up

aktifkan DHCP pada interface wlan0 (bila perlu) dengan perintah:


dhcpcd wlan0

lalu jalankan lagi perintah


iwconfig wlan0

untuk melihat status interface wlan0 saat ini. Seharusnya SSID access point sudah terlihat dan MAC Address dari wlan0 sudah tampil.

Selamat mencoba.

Running TOAD on linux

toadBuat rekan-rekan yang sudah terbiasa dan tergantung banget sama toad untuk koneksi ke database Oracle, ini saya buatkan intisari cara menggunakan TOAD di Linux (khususnya OpenSuse tapi bisa juga di ubuntu), dengan menggunakan wine (windows emulator):

  1. Pastikan paket wine sudah terinstall, paket rpm dari wine tersedia di CD
  2. Jalankan perintah:

    wine regedit

  3. Edit registry:

    hkey_local_machine - software

    , tambahkan New Key :

    Oracle

    , kemudian buat New String Value:

    ORACLE_HOME

    dgn value:

    C:\ORA

  4. Edit registry:

    hkey_local_machine - system - currentcontrolset - control - sessionmanager - environtment

    , tambahkan value PATH dgn

    C:\ORA\bin;C:\ORA

  5. Buat directory:
    $HOME/.wine/drive_c/ORA/, $HOME/.wine/drive_c/ORA/bin, $HOME/.wine/drive_c/ORA/network, dan
    $HOME/.wine/drive_c/ORA/network/admin

  6. Download oracle_client for windows, untuk versi 10g ada di:
    http://www.oracle.com/technology/tech/oci/instantclient/

  7. Extract dan copy-kan file-nya ke:
    $HOME/.wine/drive_c/ORA/bin

  8. Buat/copy-kan file tnsnames.ora di:
    $HOME/.wine/drive_c/ORA/network/admin

  9. Download file msvcr71.dll di

    http://www.dll-files.com/dllindex/dll-files.shtml?msvcr71

    , dan copy-kan ke

    $HOME/.wine/drive_c/windows/system
    atau di
    $HOME/.wine/drive_c/windows/system32

  10. Download/install/copy-kan Toad menggunakan wine dari

    http://www.newfreedownloads.com/Information-Management/
    Database-Programs/TOAD-for-Oracle-Freeware.html

    , jalankan install dgn perintah: wine [lokasi file setup toad.exe]
    misal:

    wine $HOME/mastertoadfree/setup.exe

  11. Jalankan Toad yang telah diinstall menggunakan wine dgn perintah: wine [lokasi file toad.exe]
    misal:
    wine $HOME/toadfree/toad.exe

Selamat mencoba….

thankstoMr.GatotPrasetyo :)

USB FlashDisk lambat di SuSE 10

Pada Suse 10 terdapat masalah pada akses ke flashdisk. Flashdisk memang dapat dikenali, tetapi lemotnya ampuun deh klo mengcopy banyak file (coba aja copy 1000 file walaupun ukurannya masing2 cuma 10 kb).

Pada Suse10.1 sepertinya masalah itu sudah diselesaikan, tapi pada SuSE 10.0 belum.

Pemecahan masalahnya (thanks to Andreas Schneider and Danny Kukawka!):
Catatan : Perintah dibawah ini harus dieksekusi oleh root

Buat direktori /usr/share/hal/fdi/policy/95userpolicy dengan perintah mkdir (opsi -p membuat parent direktori-nya sekalian):

mkdir -p /usr/share/hal/fdi/policy/95userpolicy/

Catatan : direktori /usr/share/hal/fdi/policy sudah ada sebelumnya, jadi kita hanya membuat direktori 95userpolicy.
Buat sebuah file dengan nama nosync.fdi dengan menggunakan perintah touch:

touch /usr/share/hal/fdi/policy/95userpolicy/nosync.fdi

Lalu edit file nosync.fdi tadi dengan editor favorit (bisa dengan vi, kate, gedit, atau mcedit).

vi /usr/share/hal/fdi/policy/95userpolicy/nosync.fdi

Lalu masukkan kode berikut ini:


<?xml version=”1.0″ encoding=”UTF-8″?>
<deviceinfo version=”0.2″>
<device>
<!– disable sync for mount –>
<match key=”block.is_volume” bool=”true”>
<match key=”volume.fsusage” string=”filesystem”>
<match key=”@info.parent:storage.bus” string=”usb”>
<merge key=”volume.policy.mount_option.sync” type=”bool”>false</merge>
</match>
</match>
</match>
</device>
</deviceinfo>

Lalu simpan.

Setelah itu restart servis HAL dengan perintah:

rchal restart

Output dari perintah restart servis HAL:
Shutting down HAL daemon done
Starting HAL daemon done

Selesai deh, mudah2an bermanfaat

diambil dari : http://egofanatic.com/linuxonlaptops/Dell600m.php#SlowUSB