MPD (Türkçe)
From ArchWiki
i18n |
---|
Türkçe |
English |
Polski |
Nederlands |
Русский |
简体中文 |
Contents |
mpd nedir?
mpd (Music Player Daemon) sunucu-istemci tarzı çalışan bir müzik oynatıcısıdır. mpd sistem servisi olarak arka planda çalışmakla birlikte, çalma listelerini müzik veritabanını çok az sistem kaynağı tüketerek yönetmektedir. mpd'yi kontrol için ayrı bir istemciye gereksinim duyulmaktadır. Daha detaylı bilgiye mpd web sitesinden ulaşabilirsiniz.
Kurulum
pacman kullanarak mpd'yi kurabilirsiniz:
# pacman -S mpd
mpd'yi yapılandırmak
Yapılandırma konusunda spesifik detaylara http://mpd.wikia.com/wiki/Configuration adresinden ulaşabilirsiniz.
Mpd'nin işleyiş prosedürü
- mpd /etc/rc.conf dosyasında DAEMONS kısmında tanımlanarak çalıştırılabilir. (Açılışta çalıştırmak istemiyorsanız /etc/rc.d/mpd start komutu ile çalıştırabilirsiniz.)
- Açılışta sistem servisleri root kullanıcı tarafından çalıştırıldığı için, mpd ilk olarak /etc/mpd.conf dosyasını okumaya çalışır.
- mpd /etc/mpd.conf dosyasında user değişkenini okur ve root kullanıcısından bu kullanıcıya geçiş yapar.
- Daha sonra /etc/mpd.conf dosyasında tanımlanan ayarları okur ve işleme koyar.
mpd.conf'da user değişkeni root dışında bir kullanıcıyı tanımlıyorsa, gerekli dizinler için yol (path) değerlerini "~" olarak kullanabilirsiniz. Yani /home/kullanıcıadı şeklinde uzunca yazmanıza gerek kalmamaktadır.
Tek kullanıcılı sistem için kurulum
- Yetkili kullanıcı olarak (root), öncelikle /etc/mpd.conf dosyasının olup olmadığına bakın. Eğer var ise silin; öntanımlı mpd kurulumunda mpd yapılandırma dosyası mpd.conf.example ismiyle gelmektedir.
- Örnek yapılandırma dosyasını /etc/mpd.conf olarak kopyalayın:
cp /etc/mpd.conf.example /etc/mpd.conf
Bazı dokümanlarda belirtildiğinin aksine, ev dizininizde mpd için yapılandırma dosyası bulundurmayın. Bu tür bir kullanım sorunlara yol açmaktadır. Eğer daha önce ev dizininizde .mpdconf dosyası oluşturmuşsanız silin. Bu işlem olası çakışmaları önlemek amacıyla yapılmaktadır. mpd'yi sistem servisi (DAEMON) olarak çalıştırdığınızda öncelikle /etc/mpd.conf'u okuyacaktır. Farklı bir yapılandırma dosyası kullanmak, mpd servis betiğini ya da herhangi bir açılış betiğini değiştirmenize neden olabileceği için zaman kaybından öteye gitmeyecektir. Ayrıca sistem servisi olarak çalıştırdığınızda, birden çok kullanıcılı bir sistemde merkezi bir yapı oluşturarak olası sorunları daha hızlıca giderebilirsiniz. Ayrıca mpd'nin root kullanıcısı tarafından çalıştırılmasından çekinmeyin, çünkü çalıştırıldıktan sonra tüm yetkileri, yapılandırma dosyasında tanımlanan kullanıcıya devredecektir.
Ses çıktısının düzgün çalışması için ses altyapısının ve ses seviyelerinin düzgün ayarlandığından emin olmalısınız. Sistemde ses açık olmasına rağmen ses alamıyorsanız, ~/.mpd/error dosyasını gözden geçirmenizde fayda vardır.
Ön bilgilerden sonra, yapılandırmayı şu şekilde gerçekleştirebilirsiniz. Yetkili kullanıcı (root) olarak /etc/mpd.conf dosyasını açın:
- /etc/mpd.conf dosyasında, şu seçenekleri bulun ve aşağıdaki gibi değiştirin:
music_directory "~/Music" # Bu dizin müzik dosyalarının durduğu dizini ifade eder playlist_directory "~/Playlists" db_file "~/.mpd/db" log_file "~/.mpd/log" error_file "~/.mpd/error" pid_file "~/.mpd/mpd.pid" state_file "~/.mpd/mpdstate" user "mpd" (bu kullanıcıyı kendi kullanıcı adınız ile değiştirin) bind_to_address "127.0.0.1" port "6600" #connection_timeout "60" #max_playlist_length "16384" #filesystem_charset "ISO-8859-1" #id3v1_encoding "ISO-8859-1"
Bu seçenekler genel ayarlardır. mpd bu ayarlarla sorunsuz çalışmaktadır. Ancak ekstra ve spesifik ayarları kullanmak/öğrenmek için mpd.conf.example dosyasını inceleyebilirsiniz.
- Tanımladığınız kullanıcı adı ile sisteme giriş yaparak şu komutları verin:
- Gerekli dizinleri oluşturun
$ mkdir ~/Playlists $ mkdir ~/.mpd
- pid dosyasını oluşturun
$ touch ~/.mpd/mpd.pid
- mpd veritabanını oluşturun (Bu işlem arşivin genişliğine göre biraz zaman alabilir.):
$ mpd --create-db
- İşlemleri tamamladıktan sonra mpd'yi çalıştırın:
$ /etc/rc.d/mpd start
- /etc/rc.conf dosyasını açıp DAEMONS satırına mpd servisini ekleyin (Açılışta çalıştırmak istiyorsanız).
- Denemek için, basit bir istemci (mesela mpc) kurup çalıştırın:
# pacman -S mpc (yetkili kullanıcı olarak) $ mpc ls | mpc add (normal kullanıcı olarak) $ mpc play
Sorun Giderme
Otomatik tanıma başarısız oldu ise
mpd çalıştırılırken, ses sistemini ve ses seviyesini otomatik olarak tanımaya çalışır. Çoğu sistemde düzgün çalışmasına rağmen bazı sistemlerde çalışmayabilir. Böyle bir durumda, mpd'ye ses sistemini ve ses seviyesini elle tanıtmak gerekebilir (/etc/mpd.conf'a yazmanız gerekebilir).
Mesela, alsa ses sistemi için şunları ekleyebilirsiniz:
audio_output { type "alsa" name "My ALSA Device" device "hw:0,0" # optional format "44100:16:2" # optional }
ALSA ses sistemi için ses seviyesini ayarlayabilmek için ise şu satırları ekleyebilirsiniz.
mixer_type "alsa" mixer_device "default" mixer_control "PCM"
Not: ESD ve mpd kullanırken izin problemleri ile karşılaşıyorsanız şu komutu verebilirsiniz:
# chsh -s /bin/true mpd
İpuçları
Zamanaşımını engellemek için (mesela, uzun süre durdurmuşsanız) mpd.conf dosyasında connection_timeout
ayarını etkin kılıp (önündeki # işaretini kaldırın) değerini yükseltin.
Eğer şarkı isimleri ve/veya dosya isimleri düzgün görüntülenmiyorsa filesystem_charset
ve id3v1_encoding
değerlerini değiştirin.
ID3 v2 etiketleri için kodlama kullanamazsınız. Bunun için harici etiket okuyucular kullanabilirsiniz.
Eğer ağ üzerinden başka bir bilgisayar ile mpd'yi kontrol etmek istiyorsanız, mpd.conf dosyasında bind_to_address
ayarında IP adresi tanımlayabilirsiniz veya çok sık IP değiştiriyorsanız, IP kısmına any
yazabilirsiniz. Ayrıca /etc/hosts.allow dosyasına mpd'yi eklemeyi unutmayın.
İstemci Kurulumu
mpd'yi kurup yapılandırıp çalıştırdıktan sonra, mpd'ye ulaşacak bir istemciye ihtiyaç duyabilirsiniz. Popüler mpd istemcilerine aşağıda yer verilmiştir:
- mpd - Komut satırında, en basit mpc istemcisidir.
- ncmpc - NCurses kullanan bir istemcidir. Konsolda çalışıyorsanız, faydalı bir istemcidir. ncmpc web sitesi
- sonata - Python GTK+ istemcisi Sonata Web Sitesi
- gmpc' - Gnome İstemcisi Resmi web sitesi
Kurmak için:
# pacman -Sy mpc # pacman -Sy ncmpc # pacman -Sy sonata # pacman -Sy gmpc
Ekstra araçlar
Last.fm bilgi paylaşımı
MPD'de şarkı bilgilerini Last.fm'e göndermek için çeşitli yöntemler bulunmaktadır.
mpdscribble
mpdscribble sadece AUR üzerinde bulunmaktadır. MPD projesi tarafından resmi olarak desteklenmektedir. Ayrıca /etc altında herhangi bir yapılandırmaya da ihtiyaç duymamaktadır. Web sitesinden detaylı bilgilere ulaşabilirsiniz.
mpdscribble'ı AUR'dan kurduktan sonra, aşağıdaki işlemleri uygulayın: (normal kullanıcı olarak)
- mkdir ~/.mpdscribble
- ~/.mpdscribble/mpdscribble.conf dosyasını oluşturup içerisine şu satırları ekleyin:
username = kullanıcıadınız password = last_fm_şifrenizin_md5_biçimi # "echo -n password | md5sum" komutu ile oluşturabilirsiniz host = mpd_host # öntanımlı olarak $MPD_HOST veya localhost port = mpd_port # öntanımlı olarak $MPD_PORT veya 6600 log = ~/.mpdscribble/mpdscribble.log cache = ~/.mpdscribble/mpdscribble.cache verbose = 2 sleep = 1 musicdir = müzik_klasörünüz
-
~/.xinitrc
dosyanızampdscribble
ekleyin.
Sonata
Last.fm ile bilgileri paylaşmanın en zahmetsiz yöntemi Sonata uygulamasını kullanmaktır. Sonata'nın tercihler menüsünde Last.fm bilgilerinizi girmeniz yeterlidir. Ancak internet bağlantınız yoksa, internet bağlantınız olmadığı zaman çaldığınız şarkı bilgisini last.fm'e gönderememektedir.
lastfmsubmitd
lastfmsubmitd community deposunda bulunan bir sistem servisidir. Yapılandırmak için /etc/lastfmsubmitd.conf
dosyasını düzenlemeniz gerekmektedir. Yapılandırdıktan sonra lastfmsubmitd
ve lastmp
servislerini /etc/rc.conf
dosyasında DAEMONS
satırına eklemeniz gerekmektedir.
lastfmproxy ile last.fm playback kullanımı
lastfmproxy last.fm'de çalan yayını başka bir müzik çalarda oynatmaya yönelik bir python betiğidir. AUR üzerinden inşa dosyalarını alıp, paket haline getirip kurabilirsiniz. Kurduktan sonra /usr/share/lastfmproxy/config.py
dosyasından yapılandırılabilir. mpd'ye yayın almak için sadece giriş bilgisini düzenleyin.
lastfmproxy'i lastfmproxy
komutuyla çalıştırdıktan sonra http://localhost:1881/
adresine gidin. last.fm radyosu eklemek için http://localhost:1881/lastfm://
şeklinde last.fm tarzı adres girin. (Mesela, http://localhost:1881/lastfm://globaltags/punk</code>). Daha sonra http://localhost:1881/
adresine tekrar gidin ve Start Listening bağlantısına tıklayarak m3u dosyasını indirin. Daha sonra o dosyayı mpd'nin müzik kütüphanesine ekleyin.
Açılışta oynatmamak için
mpd'nin sistem çalıştırıldığı zaman müzik oynatmasından rahatsız oluyorsanız, /etc/rc.d/mpd
dosyasında aşağıdaki gibi bir düzenlemeye gidin.
... stat_busy "Starting Music Player Daemon"
# always start in paused state awk '/^state_file[ \t]+"[^"]+"$/ { match($0, "\".+\"") sfile = substr($0, RSTART + 1, RLENGTH - 2) } /^user[ \t]+"[^"]+"$/ { match($0, "\".+\"") user = substr($0, RSTART + 1, RLENGTH - 2) } END { if (sfile == "") exit; if (user != "") sub(/^~/, "/home/" user, sfile) system("sed -i \x27s|^\\(state:[ \\t]\\{1,\\}\\)play$|\\1pause|\x27 \x27" sfile "\x27") }' /etc/mpd.conf
/usr/bin/mpd /etc/mpd.conf &> /dev/null ...
Bu ayarların mpd'nin yeni bir sürümünde kaybolmasını istemiyorsanız, /etc/pacman.conf
dosyasında NoUpgrade satırını şu şekilde düzenleyin:
NoUpgrade = etc/rc.d/mpd
MPD ve Alsa
Bazı durumlarda ses çıktıları karışabildiği için aygıt kullanımda tarzı hatalar alabilirsiniz (mpd'nin log dosyasında). Mesela:
Error opening alsa device "hw:0,0": Device or resource busy
Bu sorunu çözmek için mpd.conf dosyasına şu satırları ekleyebilirsiniz:
audio_output { type "alsa" name "Sound Card" options "dev=dmixer" device "plug:dmix" }
ve mpd'yi tekrar başlatabilirsiniz:
/etc/rc.d/mpd restart
Bu sorun şu nedenlerden kaynaklanmaktadır:
- Ses kartı donanım karıştırması (mixing) desteklemiyorsa
- Uygulama ALSA'nın öntanımlı ayarlarıyla çalışamıyorsa
lirc kullanarak MPD kontrolü
lircd ve mpd'yi beraber destekleyen bir çok istemci bulunmasına rağmen, kısıtlı destekleri yüzünden verimli olamamaktadırlar.
mpc'nin irexec ile kullanılması tavsiye edilmektedir. mpc komut satırı uygulaması olmasına rağmen, irexec ile kullanıldığında mpd'nin tüm özelliklerini kullanabilecek şekilde bir kullanım kolaylığı sunmaktadır.
Öncelikle, uzaktan kumanda ile ilgili ayarları Lirc sayfasında anlatıldığı gibi yapın.
lirc yapılandırma dosyası, (yoksa oluşturun) ~/.lircrc dosyasını açıp içerisine şunları ekleyin:
begin prog = irexec button = <button_name> config = <command_to_run> repeat = <0 or 1> end
Örnek:
## irexec begin prog = irexec button = play_pause config = mpc toggle repeat = 0 end begin prog = irexec button = stop config = mpc stop repeat = 0 end begin prog = irexec button = previous config = mpc prev repeat = 0 end begin prog = irexec button = next config = mpc next repeat = 0 end begin prog = irexec button = volup config = mpc volume +2 repeat = 1 end begin prog = irexec button = voldown config = mpc volume -2 repeat = 1 end begin prog = irexec button = pbc config = mpc random repeat = 0 end begin prog = irexec button = pdvd config = mpc update repeat = 0 end begin prog = irexec button = right config = mpc seek +00:00:05 repeat = 0 end begin prog = irexec button = left config = mpc seek -00:00:05 repeat = 0 end begin prog = irexec button = up config = mpc seek +1% repeat = 0 end begin prog = irexec button = down config = mpc seek -1% repeat = 0 end
mpc'nin tüm fonksiyonlarını, man mpc komutunu vererek kullanım kılavuzundan öğrenebilirsiniz.