Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Программа, отображающая информацию о системе  (Прочитано 2836 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн romauskov

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Вот! Спасибо большое, archey подходит!

Но появилась проблемка:
« Последнее редактирование: 04 Ноября 2013, 18:22:13 от romauskov »

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Может, есть какие-то предложения по включению туда дополнительной информации? Может его вообще на Zenity перевести?
...
Есть идеи?
Проще сделать так (без всяких телодвижений).
скрипт > /tmp/sysInfo && gedit /tmp/sysInfo

Оффлайн inkblack

  • Старожил
  • *
  • Сообщений: 1216
    • Просмотр профиля
Но появилась проблемка:
[img]...[/img]

Покажите вывод:
Код: (bash) [Выделить]
lsb_release -d
И попробуйте запустить
Код: (bash) [Выделить]
pythonвведите команды
Код: (python) [Выделить]
import subprocess, re
from subprocess import Popen, PIPE
raminfo = Popen(['free', '-m'], stdout=PIPE).communicate()[0].split('\n')
ram = ''.join(filter(re.compile('M').search, raminfo)).split()
print raminfo
print ram
used = int(ram[2]) - int(ram[5]) - int(ram[6])
print used
и тоже покажите вывод.
Делюсь знаниями, но их у меня мало!

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7203
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
inkblack, проблема в том, что archey для второго питона писался. А на дворе уже давно третий.

Оффлайн inkblack

  • Старожил
  • *
  • Сообщений: 1216
    • Просмотр профиля
Так для этого и
Цитировать
Покажите вывод:
Код: (bash) [Выделить]
lsb_release -d
и остальное.

А то у меня окаменевшая 12.04  ;)
Делюсь знаниями, но их у меня мало!

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7203
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
inkblack, у меня такая же ошибка, вот вывод:
Description: Ubuntu 13.04

$ python
Python 2.7.4 (default, Sep 26 2013, 03:20:26)
[GCC 4.7.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
import subprocess, re//Молча
from subprocess import Popen, PIPE//молча
raminfo = Popen(['free', '-m'], stdout=PIPE).communicate()[0].split('\n')//молча
ram = ''.join(filter(re.compile('M').search, raminfo)).split()//молча
print raminfo
['             total       used       free     shared    buffers     cached', '\xd0\x9f\xd0\xb0\xd0\xbc\xd1\x8f\xd1\x82\xd1\x8c:       5969       4600       1369          0         60       1231', '-/+ \xd0\xb1\xd1\x83\xd1\x84\xd0\xb5\xd1\x80\xd1\x8b/\xd0\xba\xd1\x8d\xd1\x88:       3309       2660', 'Swap:            0          0          0', '']
print ram
[]
used = int(ram[2]) - int(ram[5]) - int(ram[6])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range
print used
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'used' is not defined

Оффлайн alienonline

  • Активист
  • *
  • Сообщений: 755
    • Просмотр профиля
« Последнее редактирование: 06 Ноября 2013, 01:04:47 от alienonline »

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7203
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
alienonline, к чему это? Не понял.

Оффлайн alienonline

  • Активист
  • *
  • Сообщений: 755
    • Просмотр профиля
peregrine,
Программы, отображающие информацию о системе.

Оффлайн inkblack

  • Старожил
  • *
  • Сообщений: 1216
    • Просмотр профиля
Вот корень зла:

ram = ''.join(filter(re.compile('M').search, raminfo)).split()

Надо поменять букву на П русское:

ram = ''.join(filter(re.compile('П').search, raminfo)).split()

У меня free даёт вот что:
Код: (bash) [Выделить]
             total       used       free     shared    buffers     cached
Mem:       1546036     603652     942384          0      72680     268732
-/+ buffers/cache:     262240    1283796
Swap:            0          0          0
На английском.

А в новых версиях на русском.

Я попробовал ввести raminfo руками, вроде должно работать:

>>> raminfo=['             total       used       free     shared    buffers     cached', 'Память:          1509        558        951          0         70        260', '-/+ буферы/кэш:        227       1281', 'Swap:            0          0          0', '']
>>> print raminfo
['             total       used       free     shared    buffers     cached', '\xd0\x9f\xd0\xb0\xd0\xbc\xd1\x8f\xd1\x82\xd1\x8c:          1509        558        951          0         70        260', '-/+ \xd0\xb1\xd1\x83\xd1\x84\xd0\xb5\xd1\x80\xd1\x8b/\xd0\xba\xd1\x8d\xd1\x88:        227       1281', 'Swap:            0          0          0', '']
>>> ram = ''.join(filter(re.compile('П').search, raminfo)).split()
>>> print ram
['\xd0\x9f\xd0\xb0\xd0\xbc\xd1\x8f\xd1\x82\xd1\x8c:', '1509', '558', '951', '0', '70', '260']
>>> used = int(ram[2]) - int(ram[5]) - int(ram[6])
>>> print used
228
>>>
Делюсь знаниями, но их у меня мало!

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7203
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
inkblack, как лечащий костыль можно запускать так:
LC_ALL=C archey

Оффлайн inkblack

  • Старожил
  • *
  • Сообщений: 1216
    • Просмотр профиля
Точно!

Видимо, совсем ТруЪ будет в само́й проге установить локаль.

2 All: других программ, отображающих информацию о системе,
много, но автора темы интересовало именно это:

Делюсь знаниями, но их у меня мало!

Оффлайн alienonline

  • Активист
  • *
  • Сообщений: 755
    • Просмотр профиля
Тут вопрос интересный возник в развитие этой темы: никто из форумных участников не хочет этот скрипт доработать?

Может, есть какие-то предложения по включению туда дополнительной информации? Может его вообще на Zenity перевести?

Тогда разместили бы его потом где-нибудь в ВИКИ, а при необходимости (т.е. при возникновении в любой теме с просьбой о помощи вопроса: "Приведите данные о своем железе и ОС") - отправляли бы туда новичков.

Есть идеи?

Ну вот как то так ...

lshw -html >/tmp/rep && zenity --text-info --width=800 --height=600 --html --filename=/tmp/rep

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7203
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
alienonline, не удобно такую простыню листать, хотя идея очень неплоха. Истинный true способ - писать болшую серьёзную программу на C и GTK+/(C++ gtkmm)/C++ Qt

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
lshw -html >/tmp/rep && zenity --text-info --width=800 --height=600 --html --filename=/tmp/rep
У меня zenity пожаловался, что нет такой опции --html.
Поэтому надо сделать так
lshw -html >/tmp/rep && firefox /tmp/repPS. Гламурненько так смотрится.

 

Страница сгенерирована за 0.041 секунд. Запросов: 24.