2011年5月29日 星期日

Linux 上安裝 skype 2.2 beta


下載: http://www.skype.com/intl/zh-Hant/get-skype/on-your-computer/linux/
以下是用 openSUSE 11.4 64-bit 系統做測試
請依照您的發行版本選擇,我選了 openSUSE 11+
如果因某種原因無法運作,您也可以改選擇靜態
缺點是字型會比較難看
雖然有提供 Ubuntu 和 Debian 的 64位元版本
但不是真正的64位元版本
http://blogs.skype.com/linux/2009/09/some_explanations.html
您可以裝好後執行下面命令看看
$ file /usr/bin/skype 
/usr/bin/skype: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.4, stripped

上面是我的結果,不過 skype 沒提供 openSUSE 的 64位元套件
我下載安裝的是 skype-2.2.0.25-suse.i586.rpm
本來就是 32位元程式

安裝:
# rpm -ivh skype-2.2.0.25-suse.i586.rpm

如果告訴你有些什麼問題而不能安裝,改用
# zypper in skype-2.2.0.25-suse.i586.rpm


64 位元系統檢查事項:
$ rpm -q --requires skype
/bin/sh
/bin/sh
config(skype) = 2.2.0.25-suse111
libasound2 >= 1.0.12
libpng12-0
libqt4 >= 4.4
libqt4-x11 >= 4.4
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
xorg-x11-libXv
xorg-x11-libs

以上是 skype 套件所顯示的相依性
這些東西在 openSUSE 系統中是在下面套件中
libasound2
libpng12-0
libqt4
libqt4-x11
xorg-x11-libXv
xorg-x11-libs
如果您在 64位元系統,需要安裝的套件名稱都要加 -32bit
libasound2-32bit
libpng12-0-32bit
libqt4-32bit
libqt4-x11-32bit
xorg-x11-libXv-32bit
xorg-x11-libs-32bit

執行:
$ skype
已經終止

問了 google,他說要改用以下命令啟動
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

如果是這樣,您還會需要
libv4l
這個套件(通常系統都會預設安裝)
64位元系統就要自己安裝
libv4l-32bit

修改:
我們當然不希望每次啟動 skype 都打一串字吧
編輯 /usr/share/applications/skype.desktop
Exec=LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so /usr/bin/skype

接著你就可以由主選單啟動 skype 了

測試音效:
別忘了打個電話給 Skype Test Call
調整一下音效裝置
這樣應該就可以正常運作了

還是偶有當情況,beta 嘛

5 則留言:

Hans 提到...

我覺得skype for linux似乎不是很穩定。我自己安裝在11.4 64-bit上,如果通話時按下空白鍵靜音,然後再按一次空白鍵取消靜音,skype就會當掉。

另外請教黑眼珠大大,我將opensuse 11.4 64-bit安裝在thinkpad t420s上,裝好之後竟然發現只能跑單核及單執行緒。(以cat /proc/cpuinfo觀察)。上網搜尋opensuse的SMP核心也毫無所獲。不知大大有何良策?

Unknown 提到...

Hans:
我剛下載了 2.2.0.35 來測試
似乎已經不用再手動載入 32位元 v4l 函式庫
打給 test 按空白鍵靜音再恢復也沒當掉的情況,比 2.2.0.25 穩定了些,或許您下載新版試試看,我也是 openSUSE 11.4 64-bit 環境(KDE)
多執行緒問題或許到 skype 官網試試看,說不定在編譯時為了相容性需要並沒有將相關參數加上去(我猜啦)

Unknown 提到...

Hans:
我好像看錯問題了...
我的 cpuinfo 好像是雙核心
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Pentium(R) Dual CPU T2390 @ 1.86GHz
stepping : 13
cpu MHz : 800.000
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dts
bogomips : 3723.96
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Pentium(R) Dual CPU T2390 @ 1.86GHz
stepping : 13
cpu MHz : 800.000
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dts
bogomips : 3723.88
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

我用的 kernel: 2.6.37.6-0.5-desktop
你的呢

Hans 提到...

黑眼珠大大:

不好意思,這麼遲才跟您回報最新狀況。

原來我安裝系統時,將系統設定為apic設為off。結果安裝完成後,系統就變成只有單核單執行緒。那為什麼我要將apic設為off?因為不這麼設定我的console與x11會是一片雪花,啥都看不見。

我目前的作法是:安裝時將apic維持在on(預設值),然後在grub的啟動參數中加入x11failsafe。這樣的話可以順利進入KDE環境中。系統也可以正確顯示出多核心與多執行緒了。但是......外接另一個螢幕時,所有螢幕都會變成雪花一片。我猜應該是x11failsafe此一參數的後遺症。我上網google了半天,還是搞不清楚x11failsafe到底幹了啥事?怎麼讓我的laptop順利的使用外接螢幕或投影機?

唉~Linux之路還真坎坷啊!

Hans 提到...

答案揭曉。原來畫面會雪花一片,是因為opensuse 11.4的kernel並未支援thinkpad t420s所使用的sandy bridge顯示晶片。

使用tumbleweed升級kernel後,這些狀況就消失了。