A intelligent software assistant written in Java
● Projekt ● HTML Handbuch ● PDF Handbuch
Siehe REST API section Selenium wie man Skylars Firefox fernsteuert. Um den Intnernetbrowser zu sehen verwendet man einen VNC viewer.
# Open your favorite VNC viewer
# https://www.realvnc.com/en/connect/download/viewer/
# host: 127.0.0.1
# port: 61622
# password: skylar
xdg-open 'vnc://:skylar@127.0.0.1:61622'
# Now you should see a black screen with a Ubuntu logo
# more info https://github.com/SeleniumHQ/docker-selenium
Früher oder später benötigt man Ton oder Mikrophone für Skylars Internetbrowser. Dies erreicht man am leichtesten wenn man einen Selenium Server in der Desktop Umgebung also außerhalb von Docker startet. Eine weitere Möglichkeit ist das aktivieren der benötigten Funktionen in Deinem Linux/Mac/Windows/ARM Docker Deamon. Jedoch hat jedes Betriebssystem seine eigene Einstellungen so wie Heimtücken…
⬆
PROJECT="$HOME/git/skylar"
# stop application
cd $PROJECT
./container_destroy.sh
# change selenium server to 172.23.42.1:4444
cd $PROJECT/docker/_volumes/registry
sed -i -e 's|selenium:4444/wd/hub|172.23.42.1:4444/wd/hub|' core.yml
# start application
cd $PROJECT
./container_start.sh
# Start selenium server
PROJECT="$HOME/git/skylar"
cd $PROJECT/tools/selenium
./startServer.sh
Weitere Inforamtionen finden sich in meinem Selenium Artikel
⬆
# edit docker-compose.yml
PROJECT="$HOME/git/skylar"
atom $PROJECT/docker/docker-compose.yml
diese Zeilen auskommentieren
selenium:
volumes:
# - "$DEVICE_SHM"
# - "$VOLUME_PULSEAUDIO_DBUS"
# - "$VOLUME_PULSEAUDIO_MACHINE_ID"
# devices:
# - "$DEVICE_SOUND"
Beim aktiveren des Tons wird Docker die Soundkarte sperren und es kein Sound mehr von der Desktop Umgebung abgespielt werden.
# stop docker
PROJECT="$HOME/git/skylar"
cd $PROJECT/docker
docker-compose down
# make sure all containers are down
docker ps -a | grep skylar
# restart pulseaudio
pulseaudio -k && sudo alsa force-reload
Z.B. günstiger Raspberry Pi mit Ubuntu
⬆
sudo -i
# install pulseaudio
apt-get -y install \
alsa-utils \
libasound2 \
libasound2-plugins \
pulseaudio \
pulseaudio-module-zeroconf \
pulseaudio-utils \
--no-install-recommends
# backup configuration
cp /etc/pulse/default.pa /etc/pulse/default.pa.org
# add TCP configuration --- replace network 192.168.0.0/16
echo '
# tcp server
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/16 auth-anonymous=1
load-module module-zeroconf-publish
' >> /etc/pulse/default.pa
# restart linux box
reboot
# make shure you are NOT ROOT and are in AUDIO GROUP
id | grep -v root | grep audio
# Add your user to the audio group if needed then restart shell
# sudo usermod -aG audio,pulse,pulse-access USER
# exit
# test audio
# locate wav | grep wav$
aplay /usr/share/sounds/alsa/Noise.wav
# check tcp module loaded
pactl list | grep module-native-protocol-tcp
# start server in debug mode
pulseaudio -v
# use SECOND TERMINAL to test --- replace IP 192.168.0.10
PULSE_SERVER=192.168.0.10:4713 pavucontrol
# play tcp sound --- replace IP 192.168.0.10
PULSE_SERVER=192.168.0.10:4713 vlc
# more info
xdg-open https://wiki.ubuntuusers.de/PulseAudio/#Soundausgabe-im-Netzwerk-umleiten
sudo -i
# create service script
echo '[Unit]
Description=System PulseAudio sound server
[Service]
Type=notify
ExecStart=/usr/bin/pulseaudio --verbose --system --daemonize=no --high-priority --log-target=syslog --disallow-exit --disallow-module-loading=1
[Install]
WantedBy=multi-user.target' > /etc/systemd/system/pulseaudio.service
# enable and start daemon
systemctl enable pulseaudio
systemctl start pulseaudio
Ändere den .env Wert ENV_PULSE_AUDIO_TCP in der Datei $PROJECT/docker/.env
ENV_PULSE_AUDIO_TCP=PULSE_SERVER=192.168.0.10:4713
# edit .env file
PROJECT="$HOME/git/skylar"
# atom $PROJECT/docker/.env
sed -i -e 's|ENV_PULSE_AUDIO_TCP=.*|ENV_PULSE_AUDIO_TCP=PULSE_SERVER=192.168.0.10:4713|' $PROJECT/docker/.env
cat $PROJECT/docker/.env | grep ENV_PULSE_AUDIO_TCP