среда, 25 января 2012 г.

Список пользователей, учетных записей

w, who - показывает текущих пользователей;
users -  выводит список имён пользователей на данном хосте;
id - выводит инфо об указанном пользователе
groups - выводит список групп, в которых состоит пользователь.

Вывести список всех пользователей в системе:
Консоль:
$ cat /etc/passwd
Поля вывода будут иметь следующую структуру:
<пользователь>:<пароль>:<id_пользователя>:<первичный_групповой_id>:<фамилия>,<имя>,<адрес>,<рабочий_телефон>,<домашний_телефон>:<рабочая_директория>:<командная_оболочка>
Например:
Консоль:
sam:x:1000:1000:Linux,Samuel,,,:/home/sam:/bin/bash
...
Вывести список всех групп:
Консоль:
$ cat /etc/group
Поля вывода будут иметь следующую структуру:
<группа>:<пароль>:<id_группы>:<перечень_участников>*
Например:
Консоль:
cdrom:x:24:sam
...
 взято с linuxforum.ru

ссылки по CentOS

CentOS - openwiki.ru, минидокументация
www.metalcandy.ru

Лечим кракозябры в PUTTY

Случаи, когда при подключении через PuTTY по SSH из Windows в Unix (Linux, FreeBSD) начинаются танцы символов, которые начинают рисоваться неверно (со смещением, кракозябрами вместо псевдографики), а также когда утилиты, работающие с псевдографикой, рисуют ее как угодно, но только не правильно (пример Midnight Commander ниже) - нередки. При этом также неверно отображаются интернациональные (в том числе русские) символы.

140_11.png

Происходит это из-за несовпадения кодировок PuTTY и операционной системы, а точнее - ее виртуального SSH терминала.

Исправить это можно, задав кодировку в PuTTY.

Итак, открываем PuTTY, идем в секцию "Window / Translation" и видим опцию "Received data assumed to be in which character set".

По-умолчанию там стоит "KOI8-R". Меняйте это значение на то, которая находится на стороне сервера (чаще всего в таких случаях - UTF8) и спокойно подключайтесь к нужной машине.

Если хотите сохранить это значение на будущее - то после смены кодировки в PuTTY вернитесь на вкладку "Session", выберите пункт "Default Settings" и нажмите "Save".

Так же можно сохранить определенную кодировку для каждого сервера, занеся еще и IP сервера в строку "Host name (or IP address)", поменяв кодировку на нужную для этого сервера, занеся имя сохраняемых настроек в поле "Saved Sessions" и нажам на "Save".

взято с how-it.ru

пятница, 6 января 2012 г.

UI и многопоточность

Продолжаем осваивать .NET и многопоточность в C#. Очень часто возникает ситуация, когда из вторичных потоков необходимо изменить состояние пользовательского интерфейса, прогрессбары, кнопки и прочее. Для решение подобных вопросов можно использовать контекст свободных потоков SynchronizationContext. В него сохраняется поток UI. А дальше просходит вызов метода Send для выполнения переданного в качестве параметра делегата в потоке UI вот так:

uiContext.Send(d => progressBar.Value = i, null);

Вот пример кода, взято отсюда:

public partial class MainWindow : Window

{

SynchronizationContext uiContext;

Thread t;

public MainWindow()

{

InitializeComponent();

}

private void btnStart_Click(object sender, RoutedEventArgs e)

{

btnStart.IsEnabled = false;

btnStop.IsEnabled = true;

uiContext = SynchronizationContext.Current;

t = new Thread(Calc);

t.Start();

}

private void btnStop_Click(object sender, RoutedEventArgs e)

{

t.Interrupt();

}

private void Calc()

{

try

{

for (Int32 i = 0; i <= 100; i++)

{

uiContext.Send(d => progressBar.Value = i, null);

Thread.Sleep(100);

}

}

catch

{

}

finally

{

uiContext.Send(d => progressBar.Value = 0, null);

uiContext.Send(d => btnStop.IsEnabled = false, null);

uiContext.Send(d => btnStart.IsEnabled = true, null);

}

}

private void Window_Closed(object sender, EventArgs e)

{

t.Interrupt();

}

}