Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: tosiutelias - 06.04.15 - klo:11.40
-
Millä saisin käynnistettyä XBMC:n SSH yhteydellä?
Saan XBMC:n jumiin, jonka jälkeen otan SSH yhteyden ja sammutan sen killall -9 xbmc.bin komennolla.
Millä saisi XBMC:n käynnistettyä SSH:n kautta?
XBMC:n saan käynnistettyä koneen omalla komentorivillä XBMC -komennolla tai työpöydän kuvaketta klikkaamalla, mutta SSH:lla saan vain pitkät rimpsut pythonin? ilmoituksia.
Kone on yhdistettynä HDMI:llä A/V vahvistimeen jonka takana on TV. Jumitus tulee silloin kuin avaan TV:n ja valitsen HDMI:n jossa kone on liian nopeasti. En halua bootata tms. konetta koska siinä on nauhoitus menossa TVHeadendillä.
?buntu on 13.04 ja XBMC on 12.2 jos niillä on merkitystä
-
En ole tutustunut tuohon ohjelmaan mutta ehdottavat korotettuja oikeuksia sen käynnistämiseen:
http://forum.osmc.tv/showthread.php?tid=550 (http://forum.osmc.tv/showthread.php?tid=550)
Kerro hieman tarkemmin virheistä ellet onnistu tuon avulla.
-
Kokeilin vain tuota helppoa lähestymistä, eli
sudo su -
killall -9 xbmc.bin
xinit /usr/local/bin/xbmc --standalone &
Tapahtui seuraavaa:
xbmc@xbmcbuntu:~$ sudo su -
[sudo] password for xbmc:
root@xbmcbuntu:~# killall -9 xbmc.bin
root@xbmcbuntu:~# xinit /usr/bin/xbmc --standalone &
[1] 7880
root@xbmcbuntu:~#
Fatal server error:
Server is already active for display 0
If this server is no longer running, remove /tmp/.X0-lock
and start again.
(EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
(EE)
No protocol specified
xinit: giving up
xinit: unable to connect to X server: Resource temporarily unavailable
xinit: server error
Pelkällä XBMC :llä tapahtuu seuraavaa:
xbmc@xbmcbuntu:~$ killall -9 xbmc.bin
xbmc@xbmcbuntu:~$ xbmc
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:57: GtkWarning: could not open display
warnings.warn(str(e), _gtk.Warning)
Error: unable to open display
/usr/share/xbmc/FEH.py:69: Warning: invalid (NULL) pointer instance
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
/usr/share/xbmc/FEH.py:69: Warning: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
/usr/share/xbmc/FEH.py:83: GtkWarning: IA__gtk_settings_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed
button = gtk.Button("Quit")
/usr/share/xbmc/FEH.py:83: Warning: g_object_get: assertion `G_IS_OBJECT (object)' failed
button = gtk.Button("Quit")
/usr/share/xbmc/FEH.py:88: GtkWarning: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window
window.show_all ()
/usr/share/xbmc/FEH.py:88: GtkWarning: IA__gdk_pango_context_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed
window.show_all ()
/usr/share/xbmc/FEH.py:88: PangoWarning: pango_context_set_font_description: assertion `context != NULL' failed
window.show_all ()
/usr/share/xbmc/FEH.py:88: PangoWarning: pango_context_set_base_dir: assertion `context != NULL' failed
window.show_all ()
/usr/share/xbmc/FEH.py:88: PangoWarning: pango_context_set_language: assertion `context != NULL' failed
window.show_all ()
/usr/share/xbmc/FEH.py:88: PangoWarning: pango_layout_new: assertion `context != NULL' failed
window.show_all ()
/usr/share/xbmc/FEH.py:88: PangoWarning: pango_layout_set_text: assertion `layout != NULL' failed
window.show_all ()
/usr/share/xbmc/FEH.py:88: PangoWarning: pango_layout_set_alignment: assertion `layout != NULL' failed
window.show_all ()
/usr/share/xbmc/FEH.py:88: PangoWarning: pango_layout_set_ellipsize: assertion `PANGO_IS_LAYOUT (layout)' failed
window.show_all ()
/usr/share/xbmc/FEH.py:88: PangoWarning: pango_layout_set_single_paragraph_mode: assertion `PANGO_IS_LAYOUT (layout)' failed
window.show_all ()
/usr/share/xbmc/FEH.py:88: PangoWarning: pango_layout_set_width: assertion `layout != NULL' failed
window.show_all ()
/usr/share/xbmc/FEH.py:88: PangoWarning: pango_layout_get_extents: assertion `layout != NULL' failed
window.show_all ()
/usr/share/xbmc/FEH.py:88: PangoWarning: pango_layout_set_attributes: assertion `layout != NULL' failed
window.show_all ()
/usr/share/xbmc/FEH.py:88: GtkWarning: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed
window.show_all ()
/usr/share/xbmc/FEH.py:88: GtkWarning: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed
window.show_all ()
/usr/share/xbmc/FEH.py:88: GtkWarning: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed
window.show_all ()
/usr/share/xbmc/FEH.py:88: GtkWarning: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed
window.show_all ()
Segmentation fault (core dumped)
xbmc@xbmcbuntu:~$
-
Yleisesti ohjelman käynnistys onnistuisi varmaankin näin:
export DISPLAY=:0
xbmc
Ilmeisesti kuitenkin ajat X-istuntoa siellä niin, että siinä ns. ainoa ohjelma on Xbmc eli varmaankin pitäisi käytetty "display manager" käynnistää uudestaan. Esim:
sudo service lightdm restart
-
Kiitos.
export DISPLAY=:0
xbmc
Tämä käynnisti XBMC:n, mutta kun sulki yhteyden, XBMC sammui samalla. Joten ei riittävä ratkaisu.
xbmc@xbmcbuntu:~$ export DISPLAY=:0
xbmc@xbmcbuntu:~$ xbmc
Running DIL (3.22.0) Version
DtsDeviceOpen: Opening HW in mode 0
DtsDeviceOpen: Create File Failed
Ilmeisesti kuitenkin ajat X-istuntoa siellä niin, että siinä ns. ainoa ohjelma on Xbmc eli varmaankin pitäisi käytetty "display manager" käynnistää uudestaan. Esim:
sudo service lightdm restart
Ilmeisesti juurikin näin, koneella on kaksi ohjelmaa joita käytän, XBMC ja Tvheadend.
Mutta tällä homma onnistuu.
Tvheadend ei tuntunut olevan moksiskaan tuosta lightdm:n uudelleen käynnistyksestä.
Jäin vain ihmettelemään, miksi ei XBMC käynnisty etänä yhtä helposti kuin lokaalisti ???
-
Jäin vain ihmettelemään, miksi ei XBMC käynnisty etänä yhtä helposti kuin lokaalisti ???
SSH-yhteyden kautta avattua komentokehotetta ei ole oletuksena kytketty suoraan kummallakaan koneella käynnissä olevaan X-istuntoon, eli DISPLAY-ympäristömuuttujaa ei ole määritelty. Paikalliselle työpöydälle avatussa pääteikkunassa se osoittaa valmiiksi siihen X-istuntoon, jossa ikkuna näkyy. Periaatteessa etäkoneella voisi olla käynnissä useita X-työpöytiä, eikä ssh tai komentotulkki voi tietää, mitä niistä haluat käyttää, joten DISPLAY:n asettaminen jää käyttäjän tehtäväksi.
Toisekseen komentorivillä käynnistetyt edustaohjelmat sammuvat silloin, kun shell suljetaan, eli SSH-yhteyden tapauksessa silloin, kun katkaiset yhteyden. Tämän voi välttää käynnistämällä ohjelman taustalle (xbmc &) tai käyttämällä screen-ohjelmaa (http://www.linux.fi/wiki/GNU_Screen) tai jotain vastaavaa. Byobu on kätevä käyttöliittymä screenille.
-
... mutta kun sulki yhteyden, XBMC sammui samalla.
Kun olet käynnistänyt ohjelman taustalle sen voi jättää käyntiin "disown" -komennon avulla joka katkaisee ohjelman riippuvuuden pääteyhteydestä.
disown -h