Skype
Skype の Linux 版は公式に2つ存在します:
- 新しい Skype for Linux Alpha (2016年7月13日にリリース): #Skype for Linux を参照。
- ウェブ版をラッパーで囲ったものになります。ボイスチャットは使えますが、ビデオチャットはまだ出来ません。
- 旧 Skype (最終リリースは2014年6月): #Legacy Skype を参照。
また、ウェブ版は web.skype.com から使えます。(グループ) ボイスチャットとビデオチャットが使えます (ビデオチャットは Chromium/Chrome でのみ動作します)。
目次
- 1 Skype for Linux
- 2 Legacy Skype
- 2.1 インストール
- 2.2 Skype の音声
- 2.3 Skype のセキュア化
- 2.4 トラブルシューティング
- 2.4.1 別のユーザーで実行したとき Skype が空のウィンドウしか表示しない
- 2.4.2 GUI が GTK テーマと合わない
- 2.4.3 通話テストが失敗する
- 2.4.4 GSPCA ウェブカメラが映らない
- 2.4.5 Compiz で映らない
- 2.4.6 他の Qt アプリは GTK+ テーマを使っているのに、Skype は GTK+ テーマを使わない
- 2.4.7 ビデオストリームが入ってこない
- 2.4.8 マイクにモンスターのような低オクターブな"うなりの"歪みが生まれる
- 2.4.9 音声にノイズが入る (主に64ビット OS を使っているとき)
- 2.4.10 Skype によってメディアプレーヤーやその他の音声ソースが止まってしまう
- 2.4.11 4.3 にアップグレードした後 Skype が起動しない
- 2.4.12 You are already signed in on this computer
- 2.4.13 何もない白いウィンドウが表示される
- 2.4.14 KDE Plasma 5 でシステムトレイアイコンが表示されない
- 2.4.15 PulseAudio をアップグレードした後に Skype から音声が出なくなる
- 3 Pidgin の Skype プラグイン
Skype for Linux
新しい Skype for Linux はグループビデオチャットや 画面共有 など全ての機能が使えます。
インストール
skypeforlinux-stable-binAUR または skypeforlinux-preview-binAUR パッケージをインストールしてください。
トラブルシューティング
Skype で UI の音声は出力されるのにボイスチャットやマイクの音声が出力されない
間違ったサウンドカードが選択されている可能性があります。Tools > Audio & Video settings から 'Default device' を選択してください (テストコールで設定を確認できます)。また、pulseaudio と pulseaudio-alsa がインストールされていることを確認してください。
Skype がログイン情報を記憶しない/パスワードの入力後にフリーズする
新しい Skype はユーザー名とパスワードを GNOME Keyring に保存するため、GNOME Keyring のセットアップが必要です。
また、Skype は libsecret では動作せず (非推奨の) libgnome-keyring ライブラリに依存しています。インストールされていないとログインページの後に UI がフリーズします。
Legacy Skype
インストール
skype-legacyAUR[リンク切れ: パッケージが存在しません] をインストールしてください。
Skype の実行は簡単です。ターミナルに skype
と入力するかデスクトップや DE のアプリケーションメニューから Skype アイコンをダブルクリックするだけです。
Skype の音声
バージョン 4.3 から、Skype はボイスチャットやサウンドに PulseAudio を必要とするようになりました。ALSA はもうサポートされません。設定方法は PulseAudio を見て下さい。テキストチャットでは PulseAudio がなくても Skype を使うことができます。
または、PulseAudio を使いたくない場合、PulseAudio をエミュレートする apulseAUR (x86_64 ユーザーの場合は lib32-apulseAUR が必要) を AUR からインストールすることもできます。インストールしたら次のコマンドで Skype を実行します:
$ apulse skype
もしくは x86_64 の場合:
$ apulse32 skype
マイクが使えない場合は Advanced Linux Sound Architecture/トラブルシューティング#デフォルトのマイク・キャプチャデバイスの設定 を見て下さい。
ちゃんと動作するようでしたら、/usr/share/applications/skype.desktop
のデスクトップエントリを編集して Exec 行を以下のように変更します:
Exec=/usr/bin/apulse32 /usr/bin/skype %U
Skype のセキュア化
Skype のコンピュータへのアクセスを制限したくなる理由は複数考えられます:
- skype バイナリは逆コンパイルできないようになっており、誰もバイナリが実際に何をやっているのか再現するのが不可能になっています。
- Skype をアクティブに使用していない時でも Skype は暗号化された通信を行っています。
詳しくは [1] を見て下さい。
systemd-nspawn
以下のスクリプトは /mnt/stor/vm/skype
にコンテナを作成して、Skype をコンテナから起動します。64ビット環境では multilib を有効にしたデフォルトの pacman 設定が必要です。カスタムリポジトリを有効にしている場合は注意してください。この方法では音声・動画チャットができません。
#!/bin/bash set -e DEST=/mnt/stor/vm/skype if [ ! -d "$DEST" ];then sudo mkdir -p "$DEST/var/lib/pacman/"; sudo mkdir -p "$DEST/etc/" sudo curl https://projects.archlinux.org/svntogit/packages.git/plain/trunk/pacman.conf.i686?h=packages/pacman -o "$DEST/etc/pacman.conf" echo sudo skype | sudo pacman --arch i686 --root "$DEST" --cachedir /var/cache/pacman/pkg --config "$DEST/etc/pacman.conf" -Sy - --noconfirm sudo systemd-nspawn -D "$DEST" groupadd skype sudo systemd-nspawn -D "$DEST" useradd -g skype skype sudo mkdir -p $DEST/home/skype/.config/pulse sudo cp ~/.config/pulse/cookie $DEST/home/skype/.config/pulse/ sudo cp ~/.Xauthority $DEST/home/skype/ sudo chmod 755 -R $DEST/home/skype/ sudo chown -R 1000:1000 $DEST/home/skype/ fi sudo systemd-nspawn -D "$DEST" --bind=/tmp/.X11-unix --share-system sudo -u skype env DISPLAY=:0 PULSE_SERVER=desktop skype
Docker
安全な Docker コンテナの中で Skype を使うことが可能です。Docker Hub にはユーザーによって作成された Skype イメージが存在します。
テスト済みのイメージは sameersbn/skype です (Github でホストされています)。X11 と PulseAudio の unix ドメインソケットをホスト側で使用して Skype の音声・動画を利用できるようにしています。ラッパースクリプトが X11 と PulseAudio のソケットをコンテナの中でマウントします。X11 ソケットはユーザーインターフェイスをホスト側に表示させつつ、Pulseaudio ソケットはホスト側で音声出力を吐き出します。また、/dev/video0
もマウントされます。
コンテナはホスト環境の ~/.Skype
と ~/Downloads
ディレクトリにアクセスします。ラッパースクリプトは /usr/local/bin
にインストールされます。
インストール方法は 上流のドキュメント を参照してください。
AppArmor
AppArmor の設定方法は AppArmor のページを見て下さい。
AppArmor のユーザーランドツールにはサンプルプロファイルのコレクションが付いていて、Skype はその中に含まれます。これを AppArmor のプロファイルが保存されているディレクトリにコピーしてください:
# cp -ip /usr/share/apparmor/extra-profiles/usr.bin.skype /etc/apparmor.d/
何らかの理由で、このプロファイルは完全ではありません。プロファイルをさらに修正すると良いでしょう。以下は Skype 4 の例です:
#include <tunables/global> /usr/bin/skype { #include <abstractions/audio> #include <abstractions/consoles> #include <abstractions/dbus-session> #include <abstractions/gnome> #include <abstractions/kde> #include <abstractions/nameservice> #include <abstractions/video> # Executables /usr/bin/skype ixmr, /usr/lib{,32}/skype/skype ixmr, /usr/bin/xdg-open PUxmr, /usr/bin/kde4-config PUxmr, # Configuration files owner @{HOME}/.Skype/ rw, owner @{HOME}/.Skype/** krw, owner @{HOME}/.config/Skype/ rw, owner @{HOME}/.config/Skype/** krw, # Downloads/uploads directory owner @{HOME}/Public/ rw, owner @{HOME}/Public/** krw, # Libraries /usr/lib{,32}/libv4l/v4l2convert.so mr, /usr/share/skype/lib/libQtWebKit.so.4 mr, # Shared data /usr/share/skype/ r, /usr/share/skype/** r, # Devices /dev/ r, /dev/video[0-9]* mrw, # System information /etc/machine-id r, @{PROC}/sys/kernel/{ostype,osrelease} r, @{PROC}/sys/vm/overcommit_memory r, @{PROC}/[0-9]*/net/arp r, owner @{PROC}/[0-9]*/cmdline r, owner @{PROC}/[0-9]*/status r, owner @{PROC}/[0-9]*/task/ r, owner @{PROC}/[0-9]*/task/[0-9]*/stat r, owner @{PROC}/[0-9]*/fd/ r, /sys/devices/system/cpu/ r, /sys/devices/system/cpu/cpu[0-9]*/cpufreq/scaling_{cur_freq,max_freq} r, /sys/devices/pci*/*/usb[0-9]*/*/*/modalias r, /sys/devices/pci*/*/usb[0-9]*/*/*/video4linux/video[0-9]*/dev r, /sys/devices/pci*/*/usb[0-9]*/*/{idVendor,idProduct,speed} r, # This probably should go to appropriate abstractions /etc/asound.conf r, owner @{HOME}/.config/fontconfig/fonts.conf r, owner @{HOME}/.config/gtk-3.0/bookmarks r, owner @{HOME}/.config/oxygen-gtk/argb-apps.conf rw, owner @{HOME}/.config/pulse/cookie krw, owner @{HOME}/.icons/** r, owner @{HOME}/.kde4/share/config/kdeglobals krw, owner @{HOME}/.kde4/share/config/gtkrc-2.0 r, owner @{HOME}/.kde4/share/config/oxygenrc r, /usr/share/icons/*/index.theme kr, /usr/share/nvidia/nvidia-application-profiles-*-rc r, # Denials deny owner @{HOME}/.mozilla/ r, deny owner @{HOME}/.mozilla/** r, deny /sys/devices/virtual/dmi/** r, }
プロファイルを使うには、まず securityfs
がマウントされていることを確認して:
# mount -t securityfs securityfs /sys/kernel/security
次のコマンドでプロファイルをロードしてください:
# apparmor_parser -r /etc/apparmor.d/usr.bin.skype
これで Skype を制限して実行することができます。拒否されたアクセスは messages.log
に記録されます。
TOMOYO
このセクションでは TOMOYO 2.5 を使用します。インストール方法は TOMOYO_Linux#TOMOYO_Linux_2.x を見て下さい。
/etc/tomoyo/exception_policy.conf
ファイルを開いて以下の行を追加してください:
path_group SKYPE_DIRS /home/\*/.Skype/ path_group SKYPE_DIRS /home/\*/.Skype/\{\*\}/ path_group SKYPE_DIRS /home/\*/.config/Skype/\{\*\}/ path_group SKYPE_DIRS /usr/share/skype/\{\*\}/ path_group SKYPE_DIRS /tmp/skype-\*/ path_group SKYPE_DIRS /tmp/skype-\*/\{\*\}/ path_group SKYPE_DIRS /home/\*/Downloads/tmp/\{\*\}/ path_group SKYPE_FILES /home/\*/.Skype/\{\*\}/\* path_group SKYPE_FILES /home/\*/.config/Skype/\{\*\}/\* path_group SKYPE_FILES /usr/share/skype/\{\*\}/\* path_group SKYPE_FILES /home/\*/.Skype/\* path_group SKYPE_FILES /home/\*/.config/Skype/\* path_group SKYPE_FILES /usr/share/skype/\* path_group SKYPE_FILES /tmp/skype-\*/\{\*\}/\* path_group SKYPE_FILES /home/\*/Downloads/tmp/\{\*\}/\* path_group SKYPE_FILES /home/\*/Downloads/tmp/\* path_group ICONS_DIRS /usr/share/icons/\{\*\}/ path_group ICONS_FILES /usr/share/icons/\{\*\}/\* path_group ICONS_FILES /usr/share/icons/\* initialize_domain /usr/bin/skype from any initialize_domain /usr/lib32/skype/skype from any
Skype が受信したファイルを保存したり送信できるのは /home/*/Downloads/tmp
フォルダだけになります。
- 次に
/etc/tomoyo/domain_policy.conf
を開いて以下の行を追加してください:
<kernel> /usr/bin/skype use_profile 3 use_group 0 misc env \* file read /bin/bash file read /usr/bin/bash file read/write /dev/tty file read /usr/lib/locale/locale-archive file read /usr/lib/gconv/gconv-modules file read /usr/bin/skype file read /usr/lib32/skype/skype file execute /usr/lib32/skype/skype exec.realpath="/usr/lib32/skype/skype" exec.argv[0]="/usr/lib32/skype/skype" <kernel> /usr/lib32/skype/skype use_profile 3 use_group 0 file append /dev/snd/pcm\* file chmod /home/\*/.Skype/ 0700 file create /home/\*/.cache/fontconfig/\* 0600-0666 file create /tmp/qtsingleapp-\*-lockfile 0600-0666 file create @SKYPE_FILES 0600-0666 file create /dev/shm/pulse-shm-\* 0700-0777 file execute /usr/bin/firefox file execute /usr/bin/gnome-open file execute /usr/bin/notify-send file execute /usr/bin/opera file execute /usr/bin/xdg-open file ioctl /dev/snd/\* 0-0xFFFFFFFFFFFFFFFF file ioctl /dev/video0 0-0xFFFFFFFFFFFFFFFF file ioctl anon_inode:inotify 0x541B file ioctl socket:[family=1:type=2:protocol=0] 0x8910 file ioctl socket:[family=1:type=2:protocol=0] 0x8933 file ioctl socket:[family=2:type=1:protocol=6] 0x541B file ioctl socket:[family=2:type=2:protocol=17] 0x541B file ioctl socket:[family=2:type=2:protocol=17] 0x8912 file ioctl socket:[family=2:type=2:protocol=17] 0x8927 file ioctl socket:[family=2:type=2:protocol=17] 0x8B01 file ioctl socket:[family=2:type=2:protocol=17] 0x8B1B file ioctl socket:[family=2:type=2:protocol=17] 0x8B15 file ioctl socket:[family=2:type=2:protocol=17] 0x8B05 file link/rename /home/\*/.cache/fontconfig/\* /home/\*/.cache/fontconfig/\* file mkdir /home/\*/.cache/fontconfig/\* 0600 file mkdir @SKYPE_DIRS 0700-0777 file mksock /tmp/qtsingleapp-\* 0755 file read /dev/urandom file read/write/unlink/truncate /dev/shm/pulse-shm-\* file read /etc/fonts/conf.avail/\*.conf file read /etc/fonts/conf.d/\*.conf file read /etc/fonts/fonts.conf file read /etc/group file read /etc/host.conf file read /etc/hosts file read /etc/machine-id file read /etc/nsswitch.conf file read /etc/resolv.conf file read /home/\*/.ICEauthority file read /home/\*/.XCompose file read /home/\*/.Xauthority file read /home/\*/.Xdefaults file read /home/\*/.fontconfig/\* file read /home/\*/.config/fontconfig/\* file read /home/\*/.config/pulse/cookie file read /usr/lib/locale/locale-archive file read /usr/lib32/gconv/UTF-16.so file read /usr/lib32/gconv/gconv-modules file read /usr/lib32/libv4l/v4l2convert.so file read /usr/lib32/libv4l/plugins/libv4l-mplane.so file read /usr/lib32/pulseaudio/libpulsecommon-5.0.so file read /usr/lib32/qt/plugins/bearer/libq\*bearer.so file read /usr/lib32/qt/plugins/iconengines/libqsvgicon.so file read /usr/lib32/qt/plugins/imageformats/libq\*.so file read /usr/lib32/qt/plugins/inputmethods/libqimsw-multi.so file read /usr/lib32/skype/skype file read /usr/share/X11/locale/\*/Compose file read /usr/share/X11/locale/\*/XLC_LOCALE file read /usr/share/X11/locale/compose.dir file read /usr/share/X11/locale/locale.alias file read /usr/share/X11/locale/locale.dir file read /usr/share/alsa/alsa.conf file read /usr/share/alsa/cards/\*.conf file read /usr/share/alsa/pcm/\*.conf file read /usr/share/fonts/\*/\*/\* file read /usr/share/locale/\*/LC_MESSAGES/\*.mo file read /usr/share/ca-certificates/mozilla/\*.crt file read /var/cache/fontconfig/\*.cache-4 file read @ICONS_FILES file read proc:/sys/vm/overcommit_memory file read /sys/devices/\*/\*/\*/\*/\*/modalias file read /sys/devices/\*/\*/\*/\*/\*/video4linux/video0/dev file read /sys/devices/\*/\*/\*/\*/idProduct file read /sys/devices/\*/\*/\*/\*/idVendor file read /sys/devices/\*/\*/\*/\*/speed file read /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq file read /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq file read /sys/devices/system/cpu/online file read/write /dev/snd/\* file read/write /dev/video0 file read/write/truncate /home/\*/.config/Trolltech.conf file read/write/unlink /home/\*/.cache/fontconfig/\* file read/write/unlink /tmp/qtsingleapp-\* file read/write/unlink/truncate @SKYPE_FILES file rename @SKYPE_DIRS @SKYPE_DIRS file rename @SKYPE_FILES @SKYPE_FILES file rmdir @SKYPE_DIRS misc env \* network inet dgram bind 0.0.0.0 0-65535 network inet dgram bind 127.0.0.1 0 network inet dgram bind/send 0.0.0.0-255.255.255.255 0-65535 network inet stream bind/listen 0.0.0.0 0-65535 network inet stream connect 0.0.0.0-255.255.255.255 0-65535 network unix stream bind/listen/connect /tmp/qtsingleapp-\* network unix stream connect /tmp/.ICE-unix/\* network unix stream connect /var/run/dbus/system_bus_socket network unix stream connect /var/run/nscd/socket network unix stream connect \000/tmp/.ICE-unix/\* network unix stream connect \000/tmp/.X11-unix/X0 network unix stream connect \000/tmp/dbus-\* network unix stream connect /run/user/1000/pulse/native <kernel> /usr/lib32/skype/skype /usr/bin/xdg-open use_profile 0 use_group 0 <kernel> /usr/lib32/skype/skype /usr/bin/gnome-open use_profile 0 use_group 0 <kernel> /usr/lib32/skype/skype /usr/bin/notify-send use_profile 0 use_group 0
- 編集が完了したら以下のコマンドを実行して TOMOYO の設定ファイルをリロードします:
# tomoyo-loadpolicy -df </etc/tomoyo/domain_policy.conf # tomoyo-loadpolicy -ef </etc/tomoyo/exception_policy.conf
Voilà — これで Skype はサウンドボックス化されました。
この設定は64ビットの Arch 環境で生成したもので、あなたの ioctl やライブラリのパスは上記と異なる可能性があります。Skype にあわせて TOMOYO の設定を微調整するために tomoyo-auditd
デーモンをロードして:
# systemctl start tomoyo-auditd
/var/log/tomoyo
フォルダに移動して reject_003.log
の監視を開始してください:
$ tail -f reject_003.log
このコマンドは Skype の拒否されたアクションを出力するので、必要に応じてそれらを domain_policy.conf
ファイルに追加しましょう。
TOMOYO の設定に関する詳細なガイドは こちら にあります。
特別なユーザーで Skype を使う
別にパッケージをインストールする必要がある AppArmor や TOMOYO を使う代わりに、特別なユーザーを追加する方法もあります。通常環境で Skype を実行するためだけに使用するユーザーです。このアプローチではこの特別なユーザーのデータしか読めないようにして Skype にメインユーザーのデータを制限させます (新しく作ったユーザーは他のことには利用しません、Skype 専用です)。
別のユーザー ("_skype") で skype をクリーンに動かす AUR パッケージ skype-secureAUR が存在します。このパッケージはほとんどこのセクションの情報を基にしています。
オプションとして、skype ユーザーのデフォルトグループを最初に追加します。新しいユーザーとそのデフォルトグループは "skype" と故障します。"skype" ユーザーを別のグループにしておくセキュリティ上の利点は他のユーザーが許可されている場所のアクセスを制限できることです。
# groupadd skype
そして新しいユーザーを追加します:
# useradd -m -g skype -G audio,video -s /bin/bash skype
/home/skype/.bashrc
に次の行を追加します:
export DISPLAY=":0.0"
最後にエイリアスを定義します (~/.bashrc
などで):
alias skype='xhost +local: && su skype -c skype'
これでコマンドラインから skype
を実行してユーザー skype のパスワードを入力するだけで新しく作成したユーザーとして Skype を起動できます。
毎回 skype ユーザーのパスワードを入力するのが面倒くさい場合は、sudo パッケージをインストールして、visudo
を実行し一番下に次の行を追加してください:
%wheel ALL=(skype) NOPASSWD: /usr/bin/skype
そして次のエイリアスを使って skype を起動します:
alias skype='xhost +local: && sudo -u skype /usr/bin/skype'
I noticed that the newly created user is able to read some of the files in my home directory because the permissions were a+r, so I changed them manually to a-r u+r and changed umask from 022 to 066.
In order to restrict user "skype" accessing your external drive mounted in /media/data
for instance, make sure first that "skype" does not belong to group "users" (if you used the default group "skype", everything should be fine), then change the accesses on the mount point:
# chown :users /media/data # chmod o-rwx /media/data
This way, it is ensured that only the owner (normally "root") and "users" can access the specified directory tree while the others, including "skype", will be forbidden.
他のユーザーとして Skype を使うときに Pulseaudio コントロールにアクセスする
"メインユーザー"で /etc/pulse/default.pa
を ~/.pulse/default.pa
にコピーして以下を追加:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
skype ユーザーで ~/.pulse/client.conf
を作成して以下を追加:
default-server = 127.0.0.1
ユーザーのブラウザで URL を開く
チャットウィンドウで URL がクリックされると、skype は xdg-open を実行してそれを処理します。デフォルトでは xdg-open
は skype ユーザー環境のデフォルトウェブブラウザを使うようになっています。メインユーザーのブラウザでリンクを開くようにするには以下の設定を行なって下さい。
skype ユーザーでログイン:
$ sudo su - skype
ローカル設定ディレクトリを作成:
$ mkdir -p ~/.local/share/applications
/home/skype/.local/share/applications/firefox-sudo.desktop
ファイルを作成:
[Desktop Entry] Name=Firefox Exec=/home/skype/firefox-wrapper %u Terminal=false Type=Application Categories=Network;WebBrowser;
firefox-sudo.desktop
を設定して HTTP と HTTPS URL を管理:
$ xdg-mime default firefox-sudo.desktop x-scheme-handler/http $ xdg-mime default firefox-sudo.desktop x-scheme-handler/https
(任意) FTP ハンドラを追加:
$ xdg-mime default firefox-sudo.desktop x-scheme-handler/ftp
/home/skype/firefox-wrapper
スクリプトを作成 (your_user は置き換えて下さい):
#!/bin/bash DISPLAY=:0.0 HOME=/home/your_user sudo -u your_user /usr/lib/firefox/firefox -new-tab $1
実行可能属性を付与:
$ chmod +x ~/firefox-wrapper
root ユーザーで /etc/sudoers
を開く:
# visudo
skype ユーザーにユーザーのブラウザを実行する権限を与える (your_user は置き換えて下さい):
skype ALL=(your_user) NOPASSWD: /usr/lib/firefox/firefox -new-tab http*, /usr/lib/firefox/firefox -new-tab ftp*
受信したファイルにアクセスする
デフォルトで skype
は受信したファイルを 600 パーミッションで保存します (所有者だけがファイルにアクセスできます)。incron を使うことでダウンロードしたときに自動でパーミッションを修正させることができます。
skype のホームディレクトリとダウンロードディレクトリにアクセスできるようにしてください:
# chmod 755 /home/skype /home/skype/downloads
公式リポジトリの incron パッケージで incron をインストールして、systemd を使って incrond
を有効化・起動してください。
root ユーザーの incrontab タブを開き:
# incrontab -e
incron ジョブを追加してください:
/home/skype/downloads IN_CREATE chmod 644 $@/$#
変更を保存して incrontab エディタを終了してください。
incron をテストするには skype のダウンロードディレクトリに移動してテストファイルを作成してください:
# cd /home/skype/downloads # install -m 600 /dev/null test.txt # ls -l test.txt
ファイルのパーミッションは 644 か -rw-r--r-- になっているはずです。
(任意で) skype のダウンロードディレクトリをホームディレクトリにリンクさせることができます:
$ ln -s /home/skype/downloads ~/skype_files
トラブルシューティング
別のユーザーで実行したとき Skype が空のウィンドウしか表示しない
バージョン 1.16 から、Xorg は通常ユーザーとして実行されます。そのため特別なユーザーは X にアクセスすることができません。Xorg#Rootless Xorg (v1.16) を見て Xorg の root をもういちど有効にしてください。
GUI が GTK テーマと合わない
VirtualBox や Skype などの Qt ベースのアプリケーションのテーマに関する情報は Qt と GTK アプリケーションの外観の統合を見て下さい。
通話テストが失敗する
通話テストサービスが "call failed" エラー失敗する場合、ユーザーのプロファイルが破損しています。Ubuntu のフォーラムによると解決方法はプロファイルを削除して Skype でアカウントを改めて作成することです。
# rm ~/.Skype/ -rf
GSPCA ウェブカメラが映らない
i686 の場合、Video 4 Linux のユーザースペースツールと変換ライブラリである v4l-utils をインストールして、Skype を v4l1 互換で起動するために次のコマンドで起動してください:
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype
x86_64 の場合、[multilib] リポジトリから lib32-v4l-utils をインストールして、次のコマンドで Skype を起動してください:
LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so skype
DE のメニューや Skype のアップデートと独立して動かすために、エイリアスを追加することができます (例: ~/.bashrc
):
alias skype='LD_PRELOAD=/usr/libxx/libv4l/v4l1compat.so skype'
libxx は適切に編集してください。
Compiz で映らない
次のように環境変数を設定して Skype を起動してみて下さい:
$ XLIB_SKIP_ARGB_VISUALS=1 skype
他の Qt アプリは GTK+ テーマを使っているのに、Skype は GTK+ テーマを使わない
最近の Skype のバージョンではオプションメニューからテーマが変えられるようになっています。しかしながら、GTK+ オプションの選択は正しく動作しないことがあります。これはおそらく32ビットのテーマエンジンをインストールしていないことが原因です。テーマが使用しているエンジンを multilib リポジトリや AUR で探してみて下さい。テーマが使用しているエンジンがわからない場合は、一番簡単な修正法は lib32-gtk-enginesAUR をインストールすることです。ただしこれには大量のパッケージが含まれているので、必要なパッケージだけを見つけてインストールする方がベストです。
インストールしても、GConf の32ビットバージョンをインストールしないと動作しません。lib32-gconf[リンク切れ: アーカイブ: aur-mirror] をビルド・インストールすることもできますが、もっと簡単な方法があります。最初に、~/.gtkrc-2.0
を作成・編集して次の行を含めて下さい:
$ gtk-theme-name = "My theme"
My theme by はあなたのテーマの名前に置き換えて下さい、クォートを消してはいけません。次に、以下のように Skype を起動してください:
$ export GTK2_RC_FILES="/etc/gtk-2.0/gtkrc:$HOME/.gtkrc-2.0" $ skype
これで GTK+ テーマが正しく表示されるはずです。上記の2行を含むスクリプトから Skype を起動するか、~/.xprofile
や ~/.xinitrc
など、X を起動する方法によって異なるファイルで GTK2_RC_FILES を export することでこれを永続的にすることができます。
オプションメニューでテーマが変更できない場合は、次のコマンドで Skype を起動してください:
$ /usr/bin/skype --disable-cleanlooks -style GTK
デスクトップ環境のメニューでデフォルトで GTK+ テーマを使って Skype をロードしたい場合は、/usr/share/applications/skype.desktop
の 'Exec' 行を次のように修正してください:
$ Exec=/usr/bin/skype --disable-cleanlooks -style GTK
Skype を自動起動するようにしているときは同じように ~/.config/autostart/skype.desktop
を修正してください。
ビデオストリームが入ってこない
ビデオプレビューで黒四角が表示されるのに、他は (xawtv -c /dev/video0
など) はちゃんとビデオが表示される場合、Skype を次のコマンドで起動してください:
export XLIB_SKIP_ARGB_VISUALS=1 && skype
v4l1compat.so をプリロードするという方法もあります:
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype
さらに他の方法として:
cd /usr/lib/lib32/libv4l && LD_PRELOAD=v4l1compat.so skype;
マイクにモンスターのような低オクターブな"うなりの"歪みが生まれる
ユーザーによっては新しいカーネルで Skype の相手側の音声ストリームにモンスターのようなうなり声が聞こえることがあるようです。この問題は ~/.Skype/shared.xml
を削除するかダミーの ALSA デバイスを作成することで修正できます。詳しくは https://bbs.archlinux.org/viewtopic.php?pid=819500#p819500 を見て下さい。
音声にノイズが入る (主に64ビット OS を使っているとき)
解決法 1
root 権限で、/usr/bin/skype
スクリプトを編集して PULSE_LATENCY_MSEC
変数を追加してください、次の行を:
exec "$LIBDIR/skype/skype" "$@"
以下のように変更します:
PULSE_LATENCY_MSEC=60 exec "$LIBDIR/skype/skype" "$@"
解決法 2
/etc/pulse/default.pa
を編集して次の行を:
load-module module-udev-detect
以下のように変更します:
load-module module-udev-detect tsched=0
参照: PulseAudio/トラブルシューティング#Glitches, skips or crackling。
Skype によってメディアプレーヤーやその他の音声ソースが止まってしまう
/etc/pulse/default.pa
で次のモジュールをコメントアウトしてみてください:
#load-module module-role-cork
これで直らない場合、/etc/pulse/daemon.conf
で flat-volumes を no に変えてみて下さい:
flat-volumes = no
それでも直らない場合、手動でモジュールをアンロードして下さい:
$ pactl unload-module module-role-cork
4.3 にアップグレードした後 Skype が起動しない
Skype をアップグレードした後、ウェルカムスクリーンが出てから一瞬だけ連絡リストが表示され(もしくは全く表示されないで)、Skype がクラッシュすることがあります。ターミナルから Skype を実行しても、同じようにクラッシュします。違うのはクラッシュ後に 'Aborted' メッセージが表示されることだけです。
この問題は 4.3 以前のバージョンからアップグレードしたユーザーに出ていて、データベースの変更によって古いバージョンのデータベースと互換性がなくなったのが関係しています。
Skype が実行中でないことを確認して、以下を実行してください:
$ cd ~/.Skype/yourskypeusername $ cp main.db main.db.backup $ sqlite3 main.db update Messages set body_xml=substr(body_xml,instr(body_xml,'<files'),12)|| substr(body_xml,0,instr(body_xml,'<files'))|| substr(body_xml,instr(body_xml,'alt=')+5) where type=68 and body_xml not like '<file%'; .quit
これで Skype をアップグレードすることが可能になります。 [2]
Skype 4.3 は SSE2 をサポートしているプロセッサを要件としているので注意してください。あなたの使っているプロセッサが SSE2 をサポートしていない場合 Skype は 'Aborted' メッセージでクラッシュします。その場合は代わりに skype42AUR[リンク切れ: アーカイブ: aur-mirror] を使って下さい。
You are already signed in on this computer
dc.lock ファイルが削除されないで Skype が終了されると、後でログインができなくなります。
これを修正するには、Skype を終了して次を実行:
$ rm ~/.Skype/shared_dynco/dc.lock
何もない白いウィンドウが表示される
Skype を起動したときに空の白いウィンドウが表示される場合、以下のように自動ログインしてみてください:
$ echo username password | skype --pipelogin
KDE Plasma 5 でシステムトレイアイコンが表示されない
システムトレイアイコンが表示されない場合、32ビット環境の場合は sni-qtAUR を、64ビット環境の場合は lib32-sni-qtAUR をインストールしてください ([3] を参照)。
PulseAudio をアップグレードした後に Skype から音声が出なくなる
現在、Skype では PulseAudio 9.0 の enable-memfd
オプションが動作しません。/etc/pulse/daemon.conf
でオプションを無効化する必要があります。