Meu ubuntu-server não executa meu programa baseado em gtk na inicialização!

2

Eu tenho o Ubuntu-server 16.04. Instalei o gtk3 e posso executar meu programa manualmente através deste comando: ./img quando eu for para o diretório /home/m .

Masquandotenteiadicionarestalinhaaomeuarquivo/etc/rc.local:

/home/m/img&

Nãofuncionou.Esteéomeurc.localconteúdocompleto:

startx/home/m/img&exit0

Entãotenteicriaroarquivo~/.xinitrccomesteconteúdo:

#!/usr/bin/envbash/home/m/img&execopenbox-session

Emseguida,tornou-oexecutávelporestecomando: chmod+x~/.xinitrc

Maseunãotenhonada(mesmoquenãomostreminhacaixadeentradaapósareinicialização),entãoeuexecuteiestecomandotambém:

ln-s~/.xinitrc~/.xsession

Depoisdisso,meuopenboxvoltou,masmeuprogramanãocomeçoudepoisdoboot!ouqualqueroutrahora!

Mygoalisthis:whenIturnedonmyboard,afterboot,itrunsmygtk-basedprogramandshowsmyimage.It'ssomethinglikeKioskbutac++programshouldonlyshowanimage!

Comodevofazerisso?

EDIT:Euadicioneiestalinha: %código%paraomeuarquivo/home/m/img&,eelefuncionaapósologin,masnãomostraaminhaimagem,elemostraapenasumíconedearquivonocentrodatela.Masquandovouparaesteendereço/etc/xdg/openbox/autostarteexecutoestecomando/home/m/mostraminhaimagememtelacheia!

Porqueissoacontece?

**Tambémgostodeesconderoponteirodomouseeasbordasdomeuwindows,masnãoseicomo?

EDIT2:Issoéoqueeuvejodepoisdainicialização:

Eissoéoqueeuvejodepoisdetentarestecomando(nocantodobotãodegravaçãoapareceumícone):./img

    
por user145959 09.11.2017 / 20:50

2 respostas

4

**Also I like to hide my mouse pointer and my windows borders but don't know how?

Você pode acrescentar -- -nocursor ao seu startx para ocultar o ponteiro do mouse:

exec startx -- -nocursor

Existem arquivos ~/.config/openbox/rc.xml e /etc/xdg/openbox/rc.xml para você editar (ref: link ), por exemplo (parte inferior dos arquivos):

    ...
  </menu>
    <applications>

    <application class="*">
        <decor>no</decor>
        <position force="yes">
              <x>50</x>
              <y>50</y>
              <monitor>1</monitor>
        </position>
        <size>
              <width>300</width>
              <height>300</height>
        </size>
        <focus>yes</focus>
        <desktop>1</desktop>
        <layer>normal</layer>
        <iconic>no</iconic>
        <skip_pager>no</skip_pager>
        <skip_taskbar>no</skip_taskbar>
        <fullscreen>no</fullscreen>
        <maximized>false</maximized>
    </application>

</applications>
</openbox_config>

Em que <decor>no</decor> acima fará com que o aplicativo de imagem fique sem borda. Ajuste o <width> e <height> se você encontrar a imagem não mostra o tamanho completo. Você também pode ajustar <x> , <y> do aplicativo.

Existem mais, por ex. comente as tags de menu (existem vários <context tags com esta entrada <menu> ):

  <mousebind button="Right" action="Press">
    <action name="ShowMenu">
        <!-- menu>root-menu</menu -->
    </action>
  </mousebind>

Ele desabilitará o clique com o botão direito do mouse para mostrar o menu ( startx -- -nocursor oculta o cursor do mouse não impedirá que você clique com o botão direito do mouse no menu aberto).

Também há openbox/menu.xml para personalizar o item de menu do botão direito, por exemplo:

  <item label="Run Image app">
    <action name="Execute"><execute>/home/m/img</execute></action>
  </item>

Você pode escolher o item de menu do botão direito Reconfigure once menu.xml ou rc.xml editado para entrar em vigor.

Também postei answer aqui , para resolver o problema de início automático como não raiz.

    
por 22.11.2017 / 20:43
1

Com o openbox (que é o que você está usando de acordo com um dos logs), uma opção melhor para abrir um aplicativo gráfico (após o login) para um único usuário seria usar ~/.config/openbox/autostart .

Para todos os usuários, tente /etc/xdg/openbox/autostart .

Fonte: link

    
por 10.11.2017 / 00:53