faild para executar um comando no arquivo bash na inicialização

1

Eu tenho uma máquina virtual em EXSI 6.5 e instalo o Ubuntu nisso. Eu escrevo um arquivo bash para executar um comando no início como abaixo:

#!/bin/bash

# Bash script to dvblast

sleep 10

gnome-terminal --title="foo" -x bash -c \
"printf '\e[8;13;90t'&&dvblast -a 3 -f 12596000 -s 27500000 -v 13 -c Tuner4.cfg -i 1; read line" &

É executado DVBLast no início com os primeiros 10 segundos de sono. Este arquivo bash funciona bem.

Mas quando exportar ovf template desta VM e implantar novamente em Esxi e iniciar vm, o arquivo bash não foi executado por Permissão negada . esta é a imagem da janela de saída:

Quandoexecutoocomandocomstrace,consulteestelog:

open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
DVBlast 2.2 (release)
warning: restarting
open("/usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache", O_RDONLY) = 3
open("/usr/lib/x86_64-linux-gnu/gconv/ISO8859-1.so", O_RDONLY|O_CLOEXEC) = 3
debug: using linux-dvb API version 5
open("/dev/dvb/adapter3/frontend0", O_RDWR|O_NONBLOCK) = -1 ENOENT (No such file or directory)
error: opening device /dev/dvb/adapter3/frontend0 failed (No such file or directory)
+++ exited with 1 +++

Se eu executar o terminal e executar sudo -s e, em seguida, executar o arquivo bash, seu trabalho funcionará bem.

Alguém sabe como eu resolvo esse problema? Agradecemos antecipadamente

    
por combo_ci 02.08.2017 / 10:58

1 resposta

1

Como o Simlev apontou, o erro é, na verdade, sobre o problema em alcançar o dispositivo DVB. Ao exportar o OVF e importar novamente em outro host, a configuração da VM pode ter omitido o sintonizador DVB ou simplesmente não existir na outra máquina. Verifique a configuração da Máquina Virtual copiada e certifique-se de que o dispositivo DVB seja transmitido exatamente como na Máquina Virtual de origem.

Em seguida, efetue login na VM clonada e verifique se as regras do udev não reservaram o nome do dispositivo DVB a partir do primeiro esxi ou se o sintonizador na nova VM possui outro endereço de dispositivo, como /dev/dvb/adapter4/frontend0 em vez de /dev/dvb/adapter3/frontend0 , ou talvez o frontend deva ser alterado (não o mesmo INPUT no sintonizador, por exemplo, ou uma marca / modelo diferente de hardware)

Eu acredito que é o problema em abordar o dispositivo, em vez de qualquer coisa relacionada à própria BASH.

    
por 09.08.2017 / 11:10