Kirjoittaja Aihe: Ohjelman käynnistys SSH yhteydellä [Ratkaistu]  (Luettu 3227 kertaa)

tosiutelias

  • Käyttäjä
  • Viestejä: 171
    • Profiili
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ä
« Viimeksi muokattu: 07.04.15 - klo:20.17 kirjoittanut tosiutelias »

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: Ohjelman käynnistys SSH yhteydellä
« Vastaus #1 : 06.04.15 - klo:13.51 »
En ole tutustunut tuohon ohjelmaan mutta ehdottavat korotettuja oikeuksia sen käynnistämiseen:

http://forum.osmc.tv/showthread.php?tid=550

Kerro hieman tarkemmin virheistä ellet onnistu tuon avulla.
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

tosiutelias

  • Käyttäjä
  • Viestejä: 171
    • Profiili
Vs: Ohjelman käynnistys SSH yhteydellä
« Vastaus #2 : 06.04.15 - klo:15.13 »
Kokeilin vain tuota helppoa lähestymistä, eli
Koodia: [Valitse]
sudo su -
killall -9 xbmc.bin
xinit /usr/local/bin/xbmc --standalone &
Tapahtui seuraavaa:
Koodia: [Valitse]
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:
Koodia: [Valitse]
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:~$

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Vs: Ohjelman käynnistys SSH yhteydellä
« Vastaus #3 : 06.04.15 - klo:16.47 »
Yleisesti ohjelman käynnistys onnistuisi varmaankin näin:
Koodia: [Valitse]
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:
Koodia: [Valitse]
sudo service lightdm restart
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

tosiutelias

  • Käyttäjä
  • Viestejä: 171
    • Profiili
Vs: Ohjelman käynnistys SSH yhteydellä
« Vastaus #4 : 07.04.15 - klo:20.16 »
Kiitos.

Koodia: [Valitse]
export DISPLAY=:0
xbmc

Tämä käynnisti XBMC:n, mutta kun sulki yhteyden, XBMC sammui samalla. Joten ei riittävä ratkaisu.
Koodia: [Valitse]
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:
Koodia: [Valitse]
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 ???

nm

  • Käyttäjä
  • Viestejä: 16428
    • Profiili
Vs: Ohjelman käynnistys SSH yhteydellä
« Vastaus #5 : 07.04.15 - klo:22.21 »
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 tai jotain vastaavaa. Byobu on kätevä käyttöliittymä screenille.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: Ohjelman käynnistys SSH yhteydellä [Ratkaistu]
« Vastaus #6 : 08.04.15 - klo:18.51 »
Lainaus
... 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ä.
Koodia: [Valitse]
disown -h
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.