Yerel sunucumda Apache çalıştırıyorum. Www-user olarak çalışan bir PHP betiğinden, makinemde Rhythmbox çalmayı kontrol etmek istiyorum. Ben benim kadar komut satırından çalıştırmak, bu harika çalışıyorPHP'den belirli bir kullanıcı olarak komut satırı uygulamasını çalıştırma
exec('rhythmbox-client --pause');
, ancak www-kullanıcı olarak çalışır eğer rhythmbox-client
değil sanırım: Şimdiye kadar benim PHP komut dosyası basit bir komut var Rhythmbox örneğimi bildiğim/erişemiyorum.
Bu PHP betiğinin www kullanıcısından ziyade kullanıcı olarak çalışmasının veya rhythmbox-client
kontrol etmek için hangi örneği kullanacağının kolay bir yolu var mı?
Genel uygulama, telefonum kapalıyken telefonum çalan bir PHP betiğimi çağıran ve telefon açıkken çalmaya devam eden bir uygulamadır. VoIP telefonlarını seviyorum!
Çözüm: Ben cevap olarak sudo
kullanılan ancak sorunların bir çift vardı Teşekkür Carpetsmoker ve Tarek. Üstesinden gelmek için:
rhythmbox-client
'u aramak için bir bash betiği oluşturuldu. Bu bash betiği, aşağıdaki yanıtta açıklandığı gibi PHP'de sudo
kullanılarak çalıştırılmıştır. Maalesef rhythmbox-client
bash script şöyle yüzden, kontrol ne çevre bilmiyordum:
#! /bin/bash
DBUS_ADDRESS=`grep -z DBUS_SESSION_BUS_ADDRESS /proc/*/environ 2> /dev/null| sed 's/DBUS/\nDBUS/g' | tail -n 1`
if [ "x$DBUS_ADDRESS" != "x" ]; then
export $DBUS_ADDRESS
/usr/bin/rhythmbox-client --pause
fi
Şimdi bu bash komut PHP ve wwwuser tarafından çalıştırılabilir ve benim telefon duraklatabileceğinizi/benim müzik çalmak!
rhythmbox-client-root olarak çalıştırmayı denemeye ne dersiniz? – genesis
Sadece sunucunuzu yerel olarak çalıştırmayı mı planlıyorsunuz? (aka asla online koyma) – afuzzyllama
@afuzzyllama Evet sadece yerel olarak – Tak