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

"Экспорт" функции с помощью экспорта -f создает переменную окружения с телом функции. Рассмотрим этот пример:

$ fn(){ echo \'\"\ \ \$; }
$ export -f fn
$ sh -c printenv\ fn
() {  echo \'\"\ \ \$
}

Это означает, что только оболочка (только Бэш?) сможет принять функцию. Вы также можете установить функцию самостоятельно, так как Бэш рассматривает envvars только начиная с () { как функцию:

$ fn2='() { echo Hi;}' sh -c fn2
Hi
$ fn3='() {' sh -c :
sh: fn3: line 1: syntax error: unexpected end of file
sh: error importing function definition for `fn3'

Если вам нужно "экспортировать" эту переменную по SSH, то вам действительно нужна функция в виде строки. Это можно сделать с помощью опции печати (-p) для функций (-f) встроенного объявления -:

$ declare -pf fn
fn () 
{ 
    echo \'\"\ \ \$
}

Это очень полезно, если у вас есть более сложный код, который нужно выполнить по SSH. Рассмотрим следующий вымышленный сценарий:

#!/bin/bash
remote_main() {
   local dest="$HOME/destination"

   tar xzv -C "$dest"
   chgrp -R www-data "$dest"
   # Ensure that newly written files have the 'www-data' group too
   find "$dest" -type d -exec chmod g+s {} \;
}
tar cz files/ | ssh user@host "$(declare -pf remote_main); remote_main"
1
13.08.2014, 06:39
2 ответа
[12139] Если вы используете X-сервер [115672], вы будете использовать графическое оборудование, так как X нуждается хотя бы в некоторой видеопамяти для отображения чего-либо. В машинах со встроенными Intel GPU, я думаю (из того, как он работает на настольных системах), он будет использовать некоторую память системы.[12140]Но обычно, Вам не нужно запускать X на сервере, за исключением, возможно, первоначальной конфигурации. Видеокарты есть в основном для Windows (которой нужен GUI для многих задач) серверов.[12141]Это все неприменимо, если у вас есть X только для предоставления удаленным клиентам доступа к приложениям с графическим интерфейсом. Задача рендеринга/отображения будет зависеть от клиентов. (На самом деле, я считаю - хотя я и не пробовал - что вы можете установить библиотеки X без X сервера)[115224].
2
27.01.2020, 23:28
[115283] Обычно вам нужна видеокарта для консоли, если только вы не планируете настраивать консоль на последовательном порту или не пытаетесь настроить консоль без консоли. Например, чтобы подключить монитор, вам понадобится видеокарта, и вам понадобится монитор для всех ПК, если вы собираетесь настроить bios, ipmi, raid и т.д....[12180]Так что да, все, что отображается на мониторе, проходит через видеокарту. И если вы планируете запустить X, то вы будете использовать его. 8MB это не много: для 1024x768x24bit/32bit вам нужно что-то вроде 3MB графической памяти для хранения содержимого экрана, и это без использования аппаратного ускорения графики.[12181]В Linux вы также будете использовать это с помощью текстовой консоли. Теперь у нас также есть KVM и набор режимов, и с этим вы получите намного лучшую скорость текстовой консоли и более высокие разрешения, используя графическую карту.[115288]
1
27.01.2020, 23:28

Теги

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