แสดงบทความที่มีป้ายกำกับ ubuntu แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ ubuntu แสดงบทความทั้งหมด

วันเสาร์ที่ 18 ธันวาคม พ.ศ. 2553

ยกเลิกการแชร์ไฟล์ด้วยคำสั่ง net

เท้าความก่อนว่าทำไมจึงเกิดบล็อกนี้ขึ้น
ปกติการแชร์ไฟล์ใน Ubuntu ทำได้ง่ายๆโดยผ่าน nautilus ซึ่งเป็น file manager ที่มากับ Ubuntu อยู่แล้วเพียงแค่คลิ๊กขวาที่โฟลเดอร์เลือกแชร์ก็จบ แต่เกิดปัญหาเมื่อไปสั่งแชร์โฟลเดอร์ที่มีสัญลักษณ์พิเศษเข้า พอสั่ง create share มันจะแจ้งความผิดพลาดขึ้น
แต่พอ smb://localhost ปุ๊บอ้าวเฮ้ยทำไมไอ้ที่บอกว่าแชร์ไม่ได้กลับโผล่มาได้ไง nautilus ก็ยังแสดงโฟลเดอร์ว่าไม่ได้แชร์ ทีนี้จะปลดแชร์ได้ไงฟ่ะ

ค้นหาจนไปเจอคำสั่ง net ซึ่งสามารถจัดการเกี่ยวกับการแชร์ไฟล์ได้ รายละเอียดคำสั่งเกี่ยวแชร์ไฟล์มีดังนี้(ใช้ man ดู)
net usershare add sharename path [comment] [acl] [guest_ok=[y|n]] - to add or change a user defined share.
net usershare delete sharename - to delete a user defined share.
net usershare info [-l|--long] [wildcard sharename] - to print info about a user defined share.
net usershare list [-l|--long] [wildcard sharename] - to list user defined shares.

วิธียกเลิกแชร์ไฟล์ให้สั่ง
#net usershare list
เพื่อหาชื่อที่แชร์

ต่อจากนั้นค่อยสั่ง
#net usershare delete "myshare"
ตรง sharename ก็เอาชื่อที่ได้จากคำสั่งแรกใส่เข้าไปแต่ต้องครอบด้วยฟันหนู เพราะมันมีสัญลักษณ์พิเศษอยู่

หรืออีกวิธีให้เข้าไปลบใน /var/lib/samba/usershares/ ก็ได้เหมือนกัน (วิธีนี้ยังไม่ได้ลอง)

วันจันทร์ที่ 23 สิงหาคม พ.ศ. 2553

Workaround and Fixed SWT XPCOM error in Eclipse helios(3.6) on Ubuntu lucid (10.04)

ตั้งแต่ลง Ubuntu 10.04 เปิด eclipse สร้าง workspace ใหม่ ขณะกำลังโหลด splashscreen เจอมันปิดตัวเองเฉยเลย ลองเรียก eclipse ด้วย workspace เดิมอีกรอบก็ไม่มีปัญหา

Error message
Error while informing user about event loop exception:
org.eclipse.swt.SWTError: XPCOM error -2147467262
at org.eclipse.swt.browser.Mozilla.error(Mozilla.java:2089)
at org.eclipse.swt.browser.Mozilla.unhookDOMListeners(Mozilla.java:2453)

หลังจากเปิด Eclipse ได้สั่งสร้าง project ปัญญาอ่อนธรรมดา (new Java Project) กด finish พระเจ้า eclipse ค้าง ต้องสั่ง kill process กันเลยทีเดียวแต่เปิดใน workspace ดูจะพบ project ที่สร้างเสร็จแล้ว หลังจากนั้นเปิด Eclipse ใหม่ขึ้นมา import project เข้ามาลองสร้าง project ใหม่ก็ไม่เจอปัญหาอะไร ปัญหานี้จำได้ว่าไม่เจอ error message

อีกปัญหาลองเปิด JSP โดยใช้ web page editor เพื่อสร้างและแก้ไข JSP แบบ WYSIWYG ปกติไม่เคยเปิดใช้เลย กำลังจะโม้ให้คนอื่นหันมาใช้ eclipse ปรากฎว่าพอคลิ๊กที่ preview ก็เจอป๊อบอัพ error
Unhandled event loop exception
XPCOM error -2147467259

จริงๆแล้ว error นี้อาจเจอบน Eclipse เวอร์ชั่นก่อนหน้านี้ด้วยแต่ไม่ได้เปิดใช้ web page editor เลยไม่เจอ
Error message
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.swt.SWTError: XPCOM error -2147467259
at org.eclipse.swt.browser.Mozilla.error(Mozilla.java:2347)
at org.eclipse.swt.browser.Mozilla.initXULRunner(Mozilla.java:2310)


ทางแก้ที่หาๆมา
ปัญหาแรกก่อน เจอมาว่าให้เซ็ต XULRunnerPath ใน eclipse.ini
-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner

แต่ /usr/lib/xulrunner มันไม่มีอยู่ในเครื่องนี่หว่า ที่มีอยู่คือ /usr/lib/xulrunner-1.9.2.8 ลองใช้ xulrunner-1.9.2.8 ก็เจอปัญหาเดิม
งั้นใช้ตามเค้า /usr/lib/xulrunner ปัญหาแรกหมดไปคงเพราะ eclipse หา XULRunner ไม่เจอมันเลยใช้ engine ของตัวเองแทน
ดังนั้นคิดว่า Eclipse เองรู้จัก XULRunner อยู่แล้วการไปแก้เป็นพาร์ทที่ไม่มีอยู่จริงเช่น /usr/lib/xulrunner ก็เพื่อให้ eclipse ใช้ engine ของตัวเองแทน

อีกวิธีในการแก้ปัญหานี้คือการลบ eclipse ภายใต้ ~/.mozilla ก่อนที่จะสร้าง workspace
rm -Rf ~/.mozilla/eclipse/

การแก้ปัญหาแรกด้วยการเซ็ตด้วยพาร์ทที่ผิดนี้จะมีปัญหากับการแก้ปัญหาที่สามด้วย ดังนั้นทางแก้ของปัญหานี้ใช้การลบ eclipse ภายใต้ ~/.mozilla ดีทีสุดหรือไม่ก็ยอมให้มันปิดตัวเองแล้วเรียกใหม่

ปัญหาที่สอง eclipse ค้างตอนสร้าง โปรเจคแรกใน workspace (สร้างโปรเจคถัดไปจะไม่เจอปัญหาแล้ว)
ไม่พบทางแก้ปัญหา คงต้องยอมค้าง แต่ปกติสร้าง project ผ่าน M2Eclipse plugin อยู่แล้ว(สร้าง project โดยใช้ Maven) จะไม่เจอปัญหานี้ หรือไม่ก็ทำยังไงก็ได้ให้มีสักโปรเจคอยู่ใน workspace นี้เช่นการ import project เข้ามาก็ช่วยได้

ปัญหาที่สาม เรื่อง web page editor เจอก็ตอนจะโม้ชาวบ้านนี่แหละพบว่าเป็นปัญหาเรื่องขาด libstdc++5 ซึ่งไม่มีบน repository ของ Ubuntu 10.04 ด้วยต้องไปเอาจากเวอร์ชั่น Jaunty มาใช้แทน หรือไม่ก็เอา package จาก debian มาใช้ก็ได้เหมือนกัน บน Ubuntu โดนเอาออกตั้งแต่ Karmic แล้ว
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_i386.deb

สำหรับ 32-bit
sudo dpkg -i libstdc++5_3.3.6-17ubuntu1_i386.deb


สำหรับ 64-bit
บังคับลง i386 ก่อน
sudo dpkg --force-architecture -i libstdc++5_3.3.6-17ubuntu1_i386.deb

เสร็จแล้วย้าย lib ไปวางไว้ให้ถูกที่
sudo mv /usr/lib/libstdc++.so.5* /usr/lib32/

หมายเหตุ ขั้นตอนข้างบนนี้ใช้ dpkg -x แตก lib แล้วย้ายไปลง /usr/lib32/ ก็ได้เหมือนกัน

ต่อจากนั้นก็ลง package ของ 64-bit
sudo dpkg -i libstdc++5_3.3.6-17ubuntu1_amd64.deb

ตรวจสอบว่า lib ได้ตั้งตั้งไปเรียบร้อยแล้ว
sudo updatedb
locate libstdc++.so.
จะได้ตำแหน่งของ libstdc++.so ดังนี้
/usr/lib/libstdc++.so.5
/usr/lib/libstdc++.so.5.0.7
/usr/lib/libstdc++.so.6
/usr/lib/libstdc++.so.6.0.13
/usr/lib32/libstdc++.so.5
/usr/lib32/libstdc++.so.5.0.7
/usr/lib32/libstdc++.so.6
/usr/lib32/libstdc++.so.6.0.13

ก่อนใช้ eclipse ให้เคลียร์ workspace ทิ้งก่อนด้วยโดยลบ .metadata ที่อยู่ภายใต้ workspace ทิ้ง และลบ eclipse ภายใต้ ~/.mozilla ก่อน
rm -Rf ~/workspace/.metadata/
rm -Rf ~/.mozilla/eclipse/

วันเสาร์ที่ 21 สิงหาคม พ.ศ. 2553

Inconsistent lib between VLC and MPlayer

ก่อนหน้านี้ได้ลง VLC 1.1.3-0+exp0 จาก ppa:n-muench/vlc ปรากฎว่าตอนเรียก mplayer มี error

mplayer: relocation error: mplayer: symbol codec_wav_tags, version LIBAVFORMAT_52 not defined in file libavformat.so.52 with link time reference
ก็ไปค้น package ดูพบว่าได้ลง libavformat-extra-52 4:0.6-2ubuntu1~ppa1~lucid1 จาก ppa:n-muench/vlc ไปเรียบร้อยแล้วส่วน mplayer 2:1.0~rc3+svn20100416-0lucid3 ลงจาก ppa:medibuntu-maintainers/ppa มันก็ต้องการ libavformat เหมือนกัน

ถ้าจะบังคับมาใช้ libavformat ของ ppa:medibuntu-maintainers/ppa ก็อดใช้ VLC อีก หาไปหามามีคนแนะนำให้ใช้ mplayer จาก ppa:rvm/mplayer แทนก็จัดการติดตั้ง PPA ก่อน
#sudo add-apt-repository ppa:rvm/mplayer && sudo apt-get update
เสร็จแล้วก็ลง mplayer
แถม SMPlayer ไปอีกตัว
#sudo add-apt-repository ppa:rvm/smplayer && sudo apt-get update
เสร็จแล้วก็ติดตั้ง MPlayer กับ SMPlayer
#sudo apt-get install mplayer smplayer
เท่าที่ดูการคอมไฟล์ mplayer คิดว่าได้บิวด์ lib ที่เกี่ยวข้องรวมมาเรียบร้อยแล้ว ก็จะได้ smplayer กับ mplayer เวอร์ชั่นใหม่กว่า ppa:medibuntu-maintainers/ppa มาใช้แล้ว

วันศุกร์ที่ 20 สิงหาคม พ.ศ. 2553

Update Ubuntu Software Center

พอดีเปลี่ยน PPA ของ package ที่ลงเป็นที่ใหม่แล้ว Ubuntu Software Center มันยังจำ PPA ที่ลบไปอยู่
ใน Ubuntu Software Center ก็จะเจอ PPA สองที่ที่มี package เดียวกัน เดี๋ยวเวลาไล่ดู package ทีหลังเดี๋ยวจะงงซะอีกว่า package ที่ลงนี้มาจาก PPA ตัวไหน วิธีงายๆเลยใช้คำสั่ง
#sudo update-software-center


เอาที่มาหน่อยตอนแรกว่าจะหาว่าคอนฟิกของ Ubuntu Software Center อยู่ที่ไหนเพื่อเข้าไปลบตรงๆ เพราะก่อนหน้าที่ทั้งลบใน Software Source ก็แล้ว, ใช้ Ubuntu tweek สั่ง purge PPA ก็แล้ว, ลบ lists ใน /var/lib/apt ก็แล้วก็ยังไม่ออก ไปเจอว่า Ubuntu Software Center มันเรียกจาก /usr/share/software-center/software-center เสร็จแว๊บๆจอ update-software-center อยู่ที่เดียวกันเลยลองซะเลย รออัพเดทสักพักนึง ก็ได้ผลเป็นอย่างดี

ปล.ย้าย PPA จาก ppa:c-korn/vlc เป็น ppa:n-muench/vlc เพื่อจะลง vlc เวอร์ชั่นใหม่ ไม่อยากคอมไพล์เองแล้วต้องตามอัพเดทอีก
vlc จาก repository ของ Ubuntu เองอัพเดทช้าแรงงง ปัจจุบันเวอร์ชั่น 1.1.3 แล้ว

วันจันทร์ที่ 8 มีนาคม พ.ศ. 2553

แก้ปัญหา GPG Error เวลา Update Ubuntu

เมื่อสั่ง update package index ด้วย Update Manager หรือ apt-get update แล้วเกิด error ดังเช่น
W: GPG error: http://ppa.launchpad.net karmic Release: The following signatures were invalid: BADSIG 584BD6410AAFAD78 Launchpad merlwiz79

วิธีแก้ไข
วิธีแรก ลอง update PGP key ใหม่ก่อนด้วยคำสั่ง
#sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 584BD6410AAFAD78

ตำแหน่งสีแดงให้แทนด้วย key ที่เตือนออกมา ถ้า add key ใหม่ได้ไม่มีปัญหา ก็จบไป แสดงว่า PGP key เปลี่ยน หลักจากนั้นสามารถ update package ได้เหมือนปกติ

แต่ถ้ามีข้อความ
gpg: requesting key 0AAFAD78 from hkp server keyserver.ubuntu.com
gpg: key 0AAFAD78: "Launchpad merlwiz79" not changed
gpg: Total number processed: 1
gpg: unchanged: 1
แสดงว่า PGP key ไม่ได้เปลี่ยนแปลงให้แก้ไขด้วยวิธีที่สอง

วิธีที่สอง
ลบ package index ใน /var/lib/apt/lists/ แล้วให้ update ใหม่ ด้วยคำสั่งดังนี้
#sudo -i
#apt-get clean
#cd /var/lib/apt
#mv lists lists.old
#mkdir -p lists/partial
#apt-get clean
#apt-get update

เมื่อทำเสร็จแล้วจะลบ /var/lib/apt/lists.old/ ที่ backup ไว้ก็ได้

วันจันทร์ที่ 26 ตุลาคม พ.ศ. 2552

สร้าง Icon เรียกโปรแกรมบน Desktop ของ Linux

บ่นๆก่อนเลยช่วงนี้แค่งานที่ office ก็หมดแรงแล้ว(จริงๆแล้วขี้เกียจ !^^)

พอดีลง Netbean แล้วมันสร้าง icon เรียกโปรแกรมไว้บนหน้า desktop จึงได้รู้
ตัวอย่างสคริปไฟล์ ~/Desktop/netbeans-6.7.1.desktop
[Desktop Entry]
Encoding=UTF-8
Name=NetBeans IDE 6.7.1
Exec=/bin/sh "/media/src/IDE/netbeans-6.7.1/bin/netbeans"
Icon=/media/src/IDE/netbeans-6.7.1/nb6.7/netbeans.png
Categories=Application;Development;Java;IDE
Version=1.0
StartupNotify=true
Type=Application
Terminal=0

แค่อ่านรายละเอียดก็พอรู้กันแล้วใช่ไหมว่าพารามิเตอร์แต่ละตัวมีความหมายว่าอย่างไรกันบ้างเอาหลักๆแล้วกัน
- Name เป็นชื่อที่จะเห็นบนหน้า desktop
- Icon เป็นรูปที่จะแสดงบนหน้า desktop
- Exec ตำแหน่งของโปรแกรมจริงๆ
- Terminal มีค่า 0 คือไม่ต้องเปิด terminal ขึ้นเป็น background

มันสร้างให้แต่ผมลบทิ้งรก desktop แต่เอาว่าได้รู้แล้วกันว่ามันมีวิธีนี้ในการสร้าง Icon ไว้เรียกโปรแกรมได้ด้วย อ๋อ OS Linux Ubuntu นะ Windows ไม่ต้องแปลกใจเพราะมันไม่มีจะทำได้ก็แค่ link อย่างเดียว (แอบกัด Windows ซะหน่อย)