Не удается запустить графический интерфейс в CentOS в VirtualBox

Согласно этомупринятому ответу SOF:

В конвейере все команды выполняются одновременно (с их stdout/stdin, соединенными каналами), то есть в разных процессах.

Таким образом, хотя фигурные скобки сами по себе не создают подоболочку, это делает труба (в bash); см. напр.

#!/bin/bash
var=256

ps -u | grep $0
{
ps -u | grep $0
{
var="123"  
export var
echo "var is "$var

ps -u | grep $0

} | tee log.txt
echo "var is "$var
}

echo "var is "$var

Итак, мы хотим избежать конвейера, сохраняя при этом вывод на экран и в файл журнала. К счастью, в bash есть функция для создания временных FIFO. В приведенном ниже примере показана возможность использования блока кода, передачи всего его вывода в журнал (здесь stdoutи stderrдобавляются к разным файлам журнала) и изменения переменных доступны позже, так как мы не попадаем в подоболочку.

#!/bin/bash

VAR=123
echo "VAR first: $VAR"

{
        VAR=256
        echo "VAR in block: $VAR"
        norealcommand
        # show open files to see FIFOs
        #lsof -p $$
        date
        otherbadcommand
}> >(tee -a stdout.log) 2> >(tee -a stderr.log >&2)

# dummy output to not mess up output order
echo | cat 

#lsof -p $$
echo "VAR after block: $VAR"

cat -n stdout.log 
cat -n stderr.log

что должно привести к следующему результату:

$ ./fifo                                                                            /dev/shm |myself@mydesk|0|12:04:10 
VAR first: 123
VAR in block: 256
./fifo: line 9: norealcommand: command not found
Mon Jul  3 12:04:37 CEST 2017
./fifo: line 13: otherbadcommand: command not found

VAR after block: 256
     1  VAR in block: 256
     2  Mon Jul  3 12:04:10 CEST 2017
     3  VAR in block: 256
     4  Mon Jul  3 12:04:37 CEST 2017
     1  ./fifo: line 9: norealcommand: command not found
     2  ./fifo: line 13: otherbadcommand: command not found
     3  ./fifo: line 9: norealcommand: command not found
     4  ./fifo: line 13: otherbadcommand: command not found

Надеюсь, это сделает вас счастливым :-)

1
19.01.2017, 11:56
1 ответ

интересно .. помогли две вещи:

1) Intel VT-d был отключен в BIOS, ВКЛЮЧИТЕ его! (это решило проблему с графическим интерфейсом для гостевой системы Ubuntu, но не для CentOS)

2) Установите для звука для гостевой системы centos vbox значение «ALSA Audio Driver» с помощью «Intel HD Audio»

. Я не знаю, как адское аудио связано с графическим интерфейсом .. но это решило проблему ..

1
28.01.2020, 01:03

Теги

Похожие вопросы