Установка arch linux

Xfce

Xfce – эта графическая оболочка является одной из самых легких, быстрых и нетребовательных к ресурсам компьютера. Если встает вопрос о том, какую оболочку в Linux использовать на старом или слабом оборудовании, то очень часто рекомендуют именно Xfce, так как кроме своей легковесности и быстродействия она обладает еще и удобным и простым интерфейсом, и, конечно же, данная графическая оболочка является стабильной и надёжной.

За счет всех вышеперечисленных достоинств графическая оболочка Xfce уже достаточно давно находится в числе самых популярных графических оболочек Linux.

Основные компоненты Xfce:

  • Файловый менеджер – Thunar;
  • Оконный менеджер – Xfwm;
  • Панель задач – Xfce4-panel;
  • Эмулятор терминала – xfce4-terminal;
  • Поиск приложений – xfce4-appfinder;
  • Менеджер рабочего стола – xfdesktop;
  • Диспетчер настроек – xfce4-settings;
  • Система хранения настроек – xfconf;
  • Менеджер сеансов – xfce4-session;
  • Менеджер питания – xfce4-power-manager.

Многие дистрибутивы Linux используют Xfce в качестве графической оболочки по умолчанию, или активно ее поддерживают в своем дистрибутиве, ниже представлено несколько популярных дистрибутивов.

Xfce по умолчанию используется в дистрибутивах Linux:

  • Xubuntu;
  • Linux Lite;
  • Manjaro Linux;
  • MX Linux;
  • Simply Linux.

Xfce официально поддерживают следующие дистрибутивы Linux:

  • Linux Mint;
  • Fedora;
  • ROSA Desktop Fresh;
  • Calculate Linux.

Скриншоты Xfce

Linux Mint 19.1

Рабочий стол и меню

Файловый менеджер

Параметры системы

Manjaro Linux 18

Рабочий стол и меню

Файловый менеджер

Xubuntu 19.04

Рабочий стол и меню

Файловый менеджер

Linux ROSA Desktop Fresh 11

Рабочий стол и меню

Настройки системы

Linux Lite 4.4

Рабочий стол и меню

Файловый менеджер

Things to check before you reboot

Before rebooting, doublecheck a few details in your installation to achieve a successful installation. To do so, first chroot into the newly-installed system, and then:

  • , so you can login via ssh. This is critical since root login is disabled by default since OpenSSH-7.1p2.
  • so that you can switch to root via su later
  • install a ssh solution and enable its server instance to start automatically at boot.
  • set up your network configuration in order to have a connection started automatically at boot.
  • set up a boot loader and configure it to use the swap partition you appropriated earlier as the root partition. You might want to configure your bootloader to be able to boot into your old system; it is helpful to re-use the server’s existing partition in the new system for this purpose.

Использование

Пакет содержит клиентскую программу , демон и утилиту для мониторинга Wi-Fi сетей .

Запустите/включите службу . Для управления службой используется команда .

iwctl

Запуск в интерактивном режиме:

$ iwctl

В интерактивном режиме приглашение командной строки имеет вид .

Совет:

  • В интерактивном режиме работает автодополнение команд и названий устройств по нажатию клавиши .
  • Для выхода из интерактивного режима отправьте EOF комбинацией .
  • Все команды можно использовать как аргументы командной строки в неинтерактивном режиме. Пример: .

Вывести список доступных команд:

# help

Подключение к сети

Если вы не знаете название своего беспроводного интерфейса, запросите список всех Wi-Fi устройств:

# device list

Просканируйте сети:

# station устройство scan

После этого можно вывести список обнаруженных сетей:

# station устройство get-networks

Наконец, подключитесь к сети:

# station устройство connect SSID

Совет: Пользовательский интерфейс позволяет использовать автодополнение. Например, введите и нажмите — отобразится список доступных устройств; введите первую букву названия устройства и нажмите для завершения. Аналогично, выведет список доступных сетей, а при частично введённом названии завершит его.

Если для подключения к сети необходим пароль, то появится соответствующий запрос. В неинтерактивном режиме его можно передать в виде аргумента:

$ iwctl --passphrase пароль station устройство connect SSID

Примечание:

  • автоматически сохраняет пароли в каталоге и использует их для автоподключения в будущем. См. .
  • Если SSID содержит пробелы, то его необходимо обернуть двойными кавычками.
  • iwd поддерживает только PSK-пароли, от 8 до 63 ASCII-символов. В противном случае вы увидите сообщение об ошибке: .

Подключение к сети через WPS/WSC

Если ваша сеть поддерживает подключение по нажатию клавиши (Википедия:Wi-Fi Protected Setup), убедитесь, что сетевое устройство тоже может использовать эту возможность.

# wsc list

После этого, если ваше устройство было в списке, выполните

# wsc устройство push-button

и нажмите кнопку на маршрутизаторе. В принципе кнопку можно нажать и до этого (но не ранее, чем за 2 минуты).

Если при таком способе подключения сеть требует подтверждения PIN, изучите вывод команды на предмет подходящих опций для команды .

Отключиться от сети:

# station устройство disconnect

Информация об устройстве и соединении

Вывести подробности о Wi-Fi устройстве (например, MAC-адрес):

# device устройство show

Вывести состояние подключения, в том числе сети, подключённые к устройству:

# station устройство show

Ранее посещённые сети

Вывести список сетей, к которым вы подключались в прошлом:

# known-networks list

«Забыть» известную сеть:

# known-networks SSID forget

Решение проблем

Подробная отладка TLS

Это может пригодиться при решении проблем с MSCHAPv2 или TTLS. Задайте следующую переменную окружения с помощью drop-in файла:

/etc/systemd/system/iwd.service.d/tls-debug.conf
Environment=IWD_TLS_DEBUG=TRUE

После этого проверьте логи iwd, выполнив с правами root.

Проблемы с подключением после перезагрузки

Низкая энтропия системы может вызвать проблемы с подключением, особенно после перезагрузки. Рекомендации по увеличению энтропии можно найти в статье Random number generation.

udev не переименовывает беспроводное устройство

С версии 1.0 iwd отключает присвоение беспроводным интерфейсам предсказуемых имён. Для этого используется link-файл systemd, который запрещает udev присваивать беспроводным интерфейсам типовые имена :

/usr/lib/systemd/network/80-iwd.link
Type=wlan


NamePolicy=keep kernel

Если это привело к каким-то нежелательным последствиям, link-файл можно замаскировать с помощью символической ссылки:

# ln -s /dev/null /etc/systemd/network/80-iwd.link

Установка пакетов

Когда статья предлагает установить какие-либо пакеты обычным способом, там не будут описаны подробные инструкции. Вместо них будут имена пакетов, которые нужно установить.

Примечание: Часто используются ссылки установить или установленный указывающие на этот раздел статьи. Для их работы требуется включенный JavaScript.

Приведенные ниже подразделы дают обзор общих процедур установки в зависимости от типа пакета.

Официальные пакеты

Для получения пакетов из официальных репозиториев вы увидите нечто похожее:

Установите пакет .

Это означает, что вы должны запустить:

# pacman -S имя_пакета

Статья pacman содержит подробные инструкции как правильно управлять пакетами в Arch Linux.

Репозиторий пользователей Arch (AUR)

Для получения пакетов из AUR (Пользовательского Репозитория Arch) вы увидите примерно такое:

Установите пакет AUR.
$ makepkg -sri

Примечание: Для сборки пакетов из AUR или с помощью ABS необходима группа пакетов .

Статья Пользовательский репозиторий Arch содержит все подробные объяснения и лучшие методы работы с пакетами AUR.

GNOME

GNOME – (GNU Network Object Model Environment) – это еще одна очень популярная и известная графическая оболочка Linux.

Раньше, во времена GNOME 2, наверное, многие, кто впервые знакомился с Linux, ассоциировали графическое окружение Linux именно со средой GNOME, т.е. другие оболочки они даже не воспринимали, а может быть даже и не знали об их существовании. Сегодня это, конечно же, не так. А все потому, что конкуренция очень большая, хотя GNOME и сейчас по-прежнему остается в числе самых популярных графических оболочек Linux и его также многие дистрибутивы используют в качестве основной среды рабочего стола.

GNOME так же, как и KDE, нельзя отнести к легковесным оболочкам, и на слабом оборудовании GNOME лучше не использовать, а вот на современных, мощных компьютерах среду GNOME можно и даже нужно использовать, особенно если Вы хотите чего то нового, отличного от привычного интерфейса все той же Windows.

Среда GNOME имеет своеобразный, но в то же время удобный и красивый интерфейс, т.е. выглядит GNOME достойно.

Основные компоненты и приложения среды GNOME:

  • Файловый менеджер – Nautilus;
  • Эмулятор терминала – GNOME Terminal;
  • Текстовый редактор – gedit;
  • Программа для записи CD и DVD – Brasero;
  • Дисплейный менеджер – GNOME Display Manager (GDM);
  • Управление электронной почтой – Evolution;
  • Медиаплеер – Totem.

Популярные дистрибутивы Linux, которые используют среду GNOME по умолчанию:

  • Ubuntu;
  • Debian;
  • Fedora.

Дистрибутивы Linux, которые поддерживают работу GNOME и выпускают официальные редакции с графической средой GNOME:

  • Manjaro Linux;
  • OpenSUSE;
  • Solus;
  • Mageia.

Скриншоты GNOME

Ubuntu 19.04

Рабочий стол

Меню

Файловый менеджер

Manjaro Linux 18

Рабочий стол

Меню

Меню и файловый менеджер

Debian 9.8

Рабочий стол

Меню

Файловый менеджер

Установка и обновление пакетов

Установка пакетов из AUR относительно проста:

  1. Скачайте файлы сборки, включая PKGBUILD и, возможно, другие необходимые файлы вроде юнитов systemd и патчей (но, чаще всего, не сам исходный код).
  2. Убедитесь, что и прочие файлы не являются вредоносными или ненадёжными.
  3. Выполните в каталоге с сохранёнными файлами. Эта команда загрузит исходный код, скомпилирует его и создаст пакет.
  4. Выполните , чтобы установить пакет в систему.

Примечание: AUR не имеет официальной поддержки, поэтому pacman не обновляет AUR-пакеты — это ваша задача. При обновлении пакетов из официальных репозиториев все пакеты из AUR, которые от них зависят, необходимо пересобрать.

Подготовка

Прежде всего убедитесь, что в системе установлены необходимые инструменты: установите группу пакетов . В неё входят и некоторые другие инструменты, необходимые для компиляции из исходников.

Совет: Флаг при установке группы позволит не переустанавливать те пакеты, которые уже имеются в системе.

Примечание: Пакеты из AUR предполагают, что группа уже установлена. Поэтому члены этой группы никогда не указываются в списке зависимостей, необходимых для сборки.

Выберите подходящий каталог сборки. Каталог сборки — это просто место, в котором пакет будет «собран». Им может быть любой каталог в системе. В примерах ниже в качестве каталога сборки выбран .

Получение файлов

Существует несколько способов получить необходимые файлы пакета:

Клонируйте git-репозиторий, указанный в графе «URL для git clone» в разделе «Информация о пакете». Это предпочтительный метод, поскольку он позволяет получать обновления файлов пакета с помощью git pull:

$ git clone https://aur.archlinux.org/имя_пакета.git

Загрузите снимок (snapshot) либо нажав на ссылку «Загрузить снимок» под заголовком «Действия над пакетом» справа, либо командой:

$ curl -L -O https://aur.archlinux.org/cgit/aur.git/snapshot/''имя_пакета''.tar.gz

Примечание: Снимок пакета представляет собой сжатый архив, который необходимо распаковать (лучше всего — в каталог, отдельный от каталога для сборки пакетов из AUR):

Получение открытого ключа PGP (при необходимости)

Проверьте массив source в файле PKGBUILD на предмет наличия в нём файла подписи (суффикс .sig или .asc), и, если таковой присутствует, получите любой открытый ключ из массива . Подробнее см. .

Сборка пакета

Перейдите в каталог, содержащий PKGBUILD пакета:

$ cd имя_пакета

Просмотрите содержимое всех предоставленных файлов. Например, для просмотра с помощью less выполните:

$ less PKGBUILD

Совет: При обновлении пакета имеет смысл просмотреть изменения с момента последнего коммита.

  • Для просмотра изменений с момента последнего коммита выполните .
  • Для просмотра изменений с момента последнего коммита с помощью vimdiff выполните . Преимущество vimdiff в том, что можно увидеть полное содержимое каждого файла с отметками в местах изменений.

Соберите пакет. После ручной проверки целостности файлов запустите makepkg от имени обычного пользователя. Некоторые полезные флаги:

  • / — при помощи pacman перед сборкой проверить зависимости и установить недостающие. Если пакет завит от пакетов из AUR, их необходимо установить вручную до сборки.
  • / — установить пакет после успешной сборки. Позволяет пропустить шаг по ручной установке.
  • / — удалить зависимости, необходимые только для сборки, так как они больше не требуются. Учтите, что они могут потребоваться при переустановке или обновлении пакета.
  • / — удалить временные файлы после сборки, так как они больше не требуются. Эти файлы обычно необходимы только для отладки процесса сборки.

Установка пакета

После сборки можно установить пакет с помощью pacman:

# pacman -U имя_пакета-версия-архитектура.pkg.tar.zst

Примечание: Если вы изменяли PKGEXT в makepkg.conf, то имя пакета может отличаться.

Примечание: Пример выше даёт лишь краткое описание процесса сборки пакета. Настоятельно рекомендуется прочесть статьи makepkg и ABS, в которых представлена более подробная информация.

Обновление пакета

В каталоге с PKGBUILD пакета сначала обновите файлы командой

$ git pull

после чего повторите процесс сборки и установки, описанный выше.

Заключительные системные задачи

Вам потребуется сгенерировать initramfs для вашей системы, чтобы справиться с такими распространенными задачами, как LVM, шифрование дисков и RAID. Не волнуйся, это единственная команда.

Последнее, что вам нужно перед перезагрузкой — это загрузчик, GRUB. Начните с установки с Pacman.

Установите GRUB на жесткий диск.

Наконец, настройте конфигурацию GRUB на разделе «/boot».

Когда это будет сделано, введите «exit», чтобы выйти из chroot. Отключите разделы и перезагрузитесь в Arch.

Ваша система перезагрузится в Arch Linux! Имейте в виду, что вам все еще нужно будет настроить графический рабочий стол, если вы планируете это сделать. Одной из сильных сторон Arch является выбор, который она предоставляет, и у нее есть множество вариантов, слишком много вариантов, чтобы описать их в таком простом руководстве, как этот. Однако все это описано в Arch Wiki, и в основном сводится к установке нужных пакетов.

Спасибо, что читаете! Подписывайтесь на мои каналы в Telegram, и . Только там последние обновления блога и новости мира информационных технологий.

Респект за пост! Спасибо за работу!

Хотите больше постов? Узнавать новости технологий? Читать обзоры на гаджеты? Для всего этого, а также для продвижения сайта, покупки нового дизайна и оплаты хостинга, мне необходима помощь от вас, преданные и благодарные читатели. Подробнее о донатах читайте на специальной странице.

Есть возможность стать патроном, чтобы ежемесячно поддерживать блог донатом, или воспользоваться Яндекс.Деньгами, WebMoney, QIWI или PayPal:

Заранее спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.

Настройка видеокарты Linux c помощью xorg.conf

Конфигурационный файл xorg.conf — это обычный текстовый файл, в котором хранятся параметры работы Xorg сервера. Сюда входят настройки дисплея, мыши, видеокарты и клавиатуры. В былые времена этот файл был очень большим и сложным, но со временем его функции были перенесены в другие компоненты системы. Поэтому в последнее время он был видоизменен, и упрощен.  Во многих дистрибутивах вообще такого файла нет, а вся конфигурация хранится в бинарном формате.

Но настройка xorg linux может все еще понадобиться, если вы хотите сделать нестандартные настройки, повысить частоту обновления экрана, изменить расширение экрана, увеличить производительность и многое другое.

Создание Xorg.conf

Обычно, этот файл размещен в директории /etc/X11/xorg.conf. Но если в вашем дистрибутиве его нет, можно без проблем создать xorg.conf на основе журнала.

Сначала скопируйте файл журнала для новой сессии:

Программа проанализирует файл лога, и на его основе создаст новый файл /etc/X11/xorg.conf учитывая конфигурацию вашей системы. В вашем домашнем каталоге появиться файл xorg.conf.new, который нужно скопировать в /etc/X11/:

Синтаксис конфигурационного файла

Перед тем как переходить к настройке xorg.conf нужно разобраться в его синтаксисе, чтобы вы могли немного ориентироваться в самом файле. X сервер отвечает за все интерактивные связи во время сессии. Поэтому конфигурационный файл разбит на секции, несколько из них отвечают за работу с дисплеем, другие за мышь и клавиатуру. Рассмотрим основные секции файла:

  • Module — в этом разделе описываются подключение модулей, расширяющих функциональность видео драйвера. Например, GLX модуль добавляет 3D ускорение, а модули Type1 и Freetype используются для рендеринга шрифтов;
  • ServerLayout — в этой секции указаны имена трех самых необходимых устройств для каждой рабочей сессии Xorg — имена мыши, клавиатуры и экрана, которые могут использоваться в других местах файла;
  • InputDevice — в xorg.conf обычно есть две секции InputDevice, первая для мыши и вторая для клавиатуры. Большинство мышей работают отлично по умолчанию, здесь понадобиться что-то менять только если вы захотите добавить дополнительные возможности;
  • Monitor — в этой секции перечислены все настройки вашего экрана, один из наиболее важных параметров, частота горизонтальной развертки HorizSync и вертикального обновления VertRefresh, именно на основе них рассчитывается разрешение экрана. Также можно жестко задать разрешение с помощью строки ModeLine;
  • Device — тут перечислено все ваше графическое оборудование вместе с драйверами, которые используются. Чаще всего, это nv с открытым исходным кодом для NVIDIA, или fglrx для карт от AMD. Имя драйвера Intel будет зависеть от версии вашей карты, например, i810.
  • Screen — здесь расположены все настройки вашего монитора и других графических устройств. Вы можете использовать эту секцию, например, для настройки нескольких экранов.

Подготовка

Если у вас на диске уже установлена какая-то операционная система, и вы собираетесь устанавливать ArchLinux на тот же диск, то создайте свободный раздел, на который будет выполняться установка.

  • В Windows это можно сделать, используя программу Управление компьютером. Обычно ее можно найти через Панель управления: Панель управления→Администрирование→Управление компьютером→Управление дисками.
  • В MacOS можно воспользоваться штатным приложением Дисковая утилита.
  • В Linux можно воспользоваться программой GParted.

Минимальный размер дискового пространства, которое требуется чтобы установить систему, около 1Gb. Конечно, этого будет недостаточно для полноценной установки. Для комфортного пользования рекомендуется, чтобы у вас было около 20Gb свободного места.

Обязательно создайте резервную копию ваших данных.

LXQt

LXQt – графическая оболочка Linux, которая появилась в результате слияния LXDE и Razor-qt. Основной целью LXQt является предоставление простой, лёгкой и максимально производительной графической оболочкой.

LXQt так же, как и LXDE, находится в числе самых быстрых графических оболочек, которые можно использовать на старом или слабом оборудовании.

LXQt попал в этот список самых популярных графических оболочек в связи с тем, что самый популярный дистрибутив, который по умолчанию использовал LXDE в качестве основной графической оболочки, Lubuntu, больше не использует среду LXDE, а вместо нее по умолчанию, начиная с версии Lubuntu 18.10, использует именно LXQt.

По умолчанию среду LXQt используют в дистрибутивах Linux:

  • Lubuntu;
  • SparkyLinux.

Дистрибутивы Linux, которые выпускают официальные редакции со средой LXQt:

  • ROSA Desktop Fresh;
  • Fedora;
  • Calculate Linux.

Скриншоты LXQt

Lubuntu 19.04

Рабочий стол

Файловый менеджер

Linux ROSA Desktop Fresh 11

Рабочий стол

Терминал, диспетчер задач и некоторые настройки

Файловый менеджер

Fedora 30

Рабочий стол и меню

Файловый менеджер

Tips and tricks

This article or section needs expansion.

Automation

This section lists utilities for automating keyboard / mouse input and window operations (like moving, resizing or raising).

Tool Package Manual Keysyminput Windowoperations Note
xautomation Yes No Also contains screen scraping tools. Cannot simulate F13+.
xdo No Yes Small X utility to perform elementary actions on windows.
xdotool Yes Yes
xvkbd AUR Yes No Virtual keyboard for Xorg, also has the option for sending characters.
AutoKey AURAUR Yes Yes Higher-level, powerful macro and scripting utility, with both Qt and Gtk front-ends.

Nested X session

This article or section needs expansion.

To run a nested session of another desktop environment:

$ /usr/bin/Xnest :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1

This will launch a Window Maker session in a 1024 by 768 window within your current X session.

This needs the package to be installed.

On-demand disabling and enabling of input sources

With the help of xinput you can temporarily disable or enable input sources. This might be useful, for example, on systems that have more than one mouse, such as the ThinkPads and you would rather use just one to avoid unwanted mouse clicks.

Install the package.

Find the name or ID of the device you want to disable:

$ xinput

For example in a Lenovo ThinkPad T500, the output looks like this:

$ xinput
⎡ Virtual core pointer                          id=2    
⎜   ↳ Virtual core XTEST pointer                id=4    
⎜   ↳ TPPS/2 IBM TrackPoint                     id=11   
⎜   ↳ SynPS/2 Synaptics TouchPad                id=10   
⎣ Virtual core keyboard                         id=3    
    ↳ Virtual core XTEST keyboard               id=5    
    ↳ Power Button                              id=6    
    ↳ Video Bus                                 id=7    
    ↳ Sleep Button                              id=8    
    ↳ AT Translated Set 2 keyboard              id=9    
    ↳ ThinkPad Extra Buttons                    id=12   

Disable the device with , where device is the device ID or name of the device you want to disable. In this example we will disable the Synaptics Touchpad, with the ID 10:

$ xinput --disable 10

To re-enable the device, just issue the opposite command:

$ xinput --enable 10

Alternatively using the device name, the command to disable the touchpad would be:

$ xinput --disable "SynPS/2 Synaptics TouchPad"

Killing application with hotkey

Run script on hotkey:

#!/bin/bash
windowFocus=$(xdotool getwindowfocus);
pid=$(xprop -id $windowFocus | grep PID);
kill -9 $pid

Deps: ,

Block TTY access

This article or section needs expansion.

To block tty access when in an X add the following to :

Section "ServerFlags"
    Option "DontVTSwitch" "True"
EndSection

Prevent a user from killing X

To prevent a user from killing when it is running add the following to :

Section "ServerFlags"
    Option "DontZap"      "True"
EndSection

Rootless Xorg

Xorg may run with standard user privileges instead of root (so-called «rootless» Xorg). This is a significant security improvement over running as root. Note that most display managers do not support rootless Xorg.

You can verify which user Xorg is running as with .

Using xinitrc

To configure rootless Xorg using xinitrc:

  • Run startx as a subprocess of the login shell; run directly and do not use .
  • Ensure that Xorg uses virtual terminal for which permissions were set, i.e. passed by logind in via .

Session log redirection

When Xorg is run in rootless mode, Xorg logs are saved to . However, the stdout and stderr output from the Xorg session is not redirected to this log. To re-enable redirection, start Xorg with the flag and redirect the stdout and stderr output to a file:

startx -- -keeptty >~/.xorg.log 2>&1

Конфигурация жесткого диска

Пришло время настроить жесткий диск. Есть несколько способов справиться с этим, но cfdisk кажется самым простым.

Если на жестком диске еще нет таблицы разделов, появится запрос на ее установку. Выберите «DOS». Хотя это не самая последняя версия, работать с ней здесь намного проще.

Затем вы попадете на таблицу с разделами жесткого диска или свободным местом в списке. Если у вас уже есть разделы, вы можете сохранить их и перейти к следующему шагу. Если вы хотите начать сначала, выделите их и выберите «Delete» в нижней части экрана.

Выделите свободное место, из которого необходимо создать раздел, и выберите снизу пункт «New». Нажмите Enter. Затем введите размер раздела. Повторите эти шаги для каждого раздела. Если вы не знаете, что делать, создайте раздел размером 512 МБ для «/boot» и используйте остальной диск для root (/).

Когда закончите, выберите «Write» в нижнем меню. Введите «yes», чтобы подтвердить изменения. Нажмите «q» для выхода.

Создайте файловые системы для новых разделов. Вообще-то, эта часть проста. Просто выполните следующие команды, предполагая, что ваш диск «/dev/sda».

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: