Установка графического интерфейса на Arch

Использование хэша массивов в Perl (со склейками для удаления и повторной вставки поля агрегата после каждого слияния):

$ perl -F\; -alne '

  if($.==1) {
    print;
    next;
  }

  if(!exists $HoA{$F[4]}) {
    $HoA{$F[4]} = [ @F ];
  }
  else {
    splice @{ $HoA{$F[4]} }, 2, 0, join ",", (splice @{ $HoA{$F[4]} }, 2, 1), $F[2];
  }

  END {
    for $k (keys %HoA) {
      print join ";", @{ $HoA{$k} };
    }
  }
  ' data
Domain Name;ID;Machine;Environment;ENV URL;Start Date;End Date;Disk Size;Used
matrix.localhost.com;XY6124;Machine-apache-bcp1,Machine-apache-prd1;test;test.matrix.localhost.com;2 April 2013 08:12:10 GMT+01:00;2 April 2018 08:42:10 GMT+01:00;1024;External
orion.uk.localhost.com;XY01123;Machine-apache-ua01,Machine-apache-ua02;uat;uat.orion.uk.localhost.com;5 August 2015 16:54:08 GMT+01:00;2 August 2025 16:54:08 GMT+01:00;2048;Internal
matrix.localhost.com;XY6124;Machine-apache-dev1,Machine-apache-dev2;dev;dev.matrix.localhost.com;16 April 2013 06:32:28 GMT+01:00;16 April 2018 07:02:28 GMT+01:00;1024;External
matrix.localhost.com;XY6124;Machine-apache-uat1,Machine-apache-uat2;uat;uat.matrix.localhost.com;16 April 2013 07:06:33 GMT+01:00;16 April 2018 07:36:33 GMT+01:00;1024;External
Upgrade.uk.localhost.com;IN022345;Machine-apache-pf01,Machine-apache-pf02;per;per.Upgrade.uk.localhost.com;5 August 2015 16:54:08 GMT+01:00;2 August 2025 16:54:08 GMT+01:00;2048;Internal

В качестве альтернативы, используя GNU datamash (с вырезом , чтобы удалить лишнее поле groupby ):

$ datamash -Hst\; groupby 5 unique 1-2 collapse 3 unique 4-9 < data | cut -d\; -f2-
unique(Domain Name);unique(ID);collapse(Machine);unique(Environment);unique(ENV URL);unique(Start Date);unique(End Date);unique(Disk Size);unique(Used)
matrix.localhost.com;XY6124;Machine-apache-dev1,Machine-apache-dev2;dev;dev.matrix.localhost.com;16 April 2013 06:32:28 GMT+01:00;16 April 2018 07:02:28 GMT+01:00;1024;External
Upgrade.uk.localhost.com;IN022345;Machine-apache-pf01,Machine-apache-pf02;per;per.Upgrade.uk.localhost.com;5 August 2015 16:54:08 GMT+01:00;2 August 2025 16:54:08 GMT+01:00;2048;Internal
matrix.localhost.com;XY6124;Machine-apache-bcp1,Machine-apache-prd1;test;test.matrix.localhost.com;2 April 2013 08:12:10 GMT+01:00;2 April 2018 08:42:10 GMT+01:00;1024;External
matrix.localhost.com;XY6124;Machine-apache-uat1,Machine-apache-uat2;uat;uat.matrix.localhost.com;16 April 2013 07:06:33 GMT+01:00,22 March 2013 06:16:10 GMT;16 April 2018 07:36:33 GMT+01:00,22 March 2018 06:46:10 GMT;1024;External
orion.uk.localhost.com;XY01123;Machine-apache-ua01,Machine-apache-ua02;uat;uat.orion.uk.localhost.com;5 August 2015 16:54:08 GMT+01:00;2 August 2025 16:54:08 GMT+01:00;2048;Internal
2
24.08.2016, 02:25
1 ответ

Установка

pacman -S extra / gnome устанавливает множество вещей, включая Xord и GDM. extra / gnome - это группа пакетов, которые вы можете выбрать или отменить выбор в pacman . Но для типичной установки гнома вам, скорее всего, понадобятся все они.

Оттуда вы можете просто включить GDM для запуска при загрузке с помощью:

systemctl enable gdm.service

Вы можете либо перезагрузиться, либо использовать:

systemctl start gdm.service

Чтобы запустить диспетчер дисплея прямо здесь.


Переход к отображению с tty

Чтобы запустить gnome из командной строки, вы хотите, чтобы служба GDM была отключена.

systemctl disable gdm.service

И вам понадобятся два файла в вашем домашнем каталоге .xsession и .xinitrc . Чтобы упростить задачу, разумно использовать .xsession , который вызывает .xinitrc . Например,

.xsession

#!/bin/sh

if test -r "$HOME/.xinitrc"
then
    source "$HOME/.xinitrc"
fi

И затем вы можете поместить все, что вам нужно, в .xinitrc

.xinitrc

# Sometimes D-BUS stuff is placed here by packages, pick it up
if test -d /etc/X11/xinit/xinitrc.d
then
    for f in /etc/X11/xinit/xinitrc.d/*
    do
        [ -x "$f" ] && source "$f"
    done
    unset f
fi

# random config
setxkbmap us
xrdb .Xresources
export PATH=$PATH:$HOME/bin

# get into gnome
exec gnome-session

. Это важно, оба файла должны быть исполняемыми.

chmod 755 .xsession .xinitrc

И вы можете выполнить startx с tty, чтобы запустить Xorg, а затем Gnome.


Nvidia

Arch имеет несколько драйверов, доступных из основных репозиториев.

  • extra / nvidia содержит самые последние (последние в официальных репозиториях, в AUR их немного никогда).

  • extra / nvidia-304xx / extra / nvidia-304xx - для старых карт.

Я не следую соглашениям NVIDIA об именах, вам нужно будет просмотреть arch wiki и соглашения nouveau , чтобы найти, какое из них может работать.

Но на самом деле некоторые строки:

lspci -k | grep VGA

также дадут вам лучшее представление о названии вашей карты.


Примечания:

  • Xorg - это сервер дисплея, он занимается созданием дисплея (или нескольких дисплеев).

  • GDM - это диспетчер дисплеев, он занимается аутентификацией и обменом данными между сервером дисплея и диспетчером окон.

  • Gnome - это оконный менеджер (на самом деле это тоже другие вещи, но для наших целей он заполняет стек приложения оконного менеджера), он предоставляет пользователю инструменты для взаимодействия с дисплеем и приложениями с API для окон (через GTK ).

Ссылки:

2
27.01.2020, 22:10

Теги

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