Использовать значки пользователей в сценарии bash

Когда вы находитесь на экране входа в Ubuntu, перейдите в tty1 с помощью Ctrl + Alt + F1, войдите в систему с вашим именем пользователя и паролем и запустите эту команду:

sudo chown -R $USER:$USER /home/$USER/

Теперь перезагрузитесь (sudo reboot) и попробуйте войти как обычно.

3
задан 13 August 2011 в 16:08

12 ответов

Предполагая, что вы используете среду GNOME, вы можете получить название темы значка с помощью gconftool-2 (версии Ubuntu & lt; 11.04) или gsettings (Ubuntu> = 11.04). В зависимости от вашего варианта использования этого может быть уже достаточно:

gconf:

ICON_THEME=$(gconftool-2 -g /desktop/gnome/interface/icon_theme)
MYICONPATH=/usr/share/icons/$ICON_THEME

gconf:

ICON_THEME=$(gsettings get org.gnome.desktop.interface icon-theme)
MYICONPATH=/usr/share/icons/${ICON_THEME:1:-1}
2
ответ дан 25 May 2018 в 19:22
  • 1
    Отлично, только то, что я искал! А что, если мои значки, где в /home/user/.icons/? Может ли gconftool найти это? – danjjl 13 August 2011 в 16:08
  • 2
    @danjjl: Нет, gconf / gsetting имеет только имя темы - для перевода этого пути в путь понадобятся библиотечные функции, такие как скрипт python от Oli. Конечно, вы можете проверить файл, существующий в ~/.icons, а затем вернуться к /usr/share/icons, если он не существует. – Marcel Stimberg 13 August 2011 в 16:22

Предполагая, что вы используете среду GNOME, вы можете получить название темы значка с помощью gconftool-2 (версии Ubuntu & lt; 11.04) или gsettings (Ubuntu> = 11.04). В зависимости от вашего варианта использования этого может быть уже достаточно:

gconf:

ICON_THEME=$(gconftool-2 -g /desktop/gnome/interface/icon_theme) MYICONPATH=/usr/share/icons/$ICON_THEME

gconf:

ICON_THEME=$(gsettings get org.gnome.desktop.interface icon-theme) MYICONPATH=/usr/share/icons/${ICON_THEME:1:-1}
2
ответ дан 25 July 2018 в 21:28

Предполагая, что вы используете среду GNOME, вы можете получить название темы значка с помощью gconftool-2 (версии Ubuntu & lt; 11.04) или gsettings (Ubuntu> = 11.04). В зависимости от вашего варианта использования этого может быть уже достаточно:

gconf:

ICON_THEME=$(gconftool-2 -g /desktop/gnome/interface/icon_theme) MYICONPATH=/usr/share/icons/$ICON_THEME

gconf:

ICON_THEME=$(gsettings get org.gnome.desktop.interface icon-theme) MYICONPATH=/usr/share/icons/${ICON_THEME:1:-1}
2
ответ дан 2 August 2018 в 03:06

Предполагая, что вы используете среду GNOME, вы можете получить название темы значка с помощью gconftool-2 (версии Ubuntu & lt; 11.04) или gsettings (Ubuntu> = 11.04). В зависимости от вашего варианта использования этого может быть уже достаточно:

gconf:

ICON_THEME=$(gconftool-2 -g /desktop/gnome/interface/icon_theme) MYICONPATH=/usr/share/icons/$ICON_THEME

gconf:

ICON_THEME=$(gsettings get org.gnome.desktop.interface icon-theme) MYICONPATH=/usr/share/icons/${ICON_THEME:1:-1}
2
ответ дан 4 August 2018 в 18:57

Предполагая, что вы используете среду GNOME, вы можете получить название темы значка с помощью gconftool-2 (версии Ubuntu & lt; 11.04) или gsettings (Ubuntu> = 11.04). В зависимости от вашего варианта использования этого может быть уже достаточно:

gconf:

ICON_THEME=$(gconftool-2 -g /desktop/gnome/interface/icon_theme) MYICONPATH=/usr/share/icons/$ICON_THEME

gconf:

ICON_THEME=$(gsettings get org.gnome.desktop.interface icon-theme) MYICONPATH=/usr/share/icons/${ICON_THEME:1:-1}
2
ответ дан 6 August 2018 в 03:19

Предполагая, что вы используете среду GNOME, вы можете получить название темы значка с помощью gconftool-2 (версии Ubuntu & lt; 11.04) или gsettings (Ubuntu> = 11.04). В зависимости от вашего варианта использования этого может быть уже достаточно:

gconf:

ICON_THEME=$(gconftool-2 -g /desktop/gnome/interface/icon_theme) MYICONPATH=/usr/share/icons/$ICON_THEME

gconf:

ICON_THEME=$(gsettings get org.gnome.desktop.interface icon-theme) MYICONPATH=/usr/share/icons/${ICON_THEME:1:-1}
2
ответ дан 7 August 2018 в 21:00

Я не знаю, как это сделать непосредственно из сценария bash, но я только что написал небольшой скрипт Python, который вы можете использовать в качестве утилиты, которая поможет вам:

#!/usr/bin/env python
# pyicon.py

import gtk, sys

theme = gtk.icon_theme_get_default()
icon =  theme.lookup_icon(sys.argv[1], int(sys.argv[2]), ())

if icon: print icon.get_filename()

Сохранить это как pyicon.py где-нибудь и (необязательно) chmod +x это.

Тогда вы можете вызвать его, щелкая по имени значка и размеру, и он ответит путем. Пример:

$ ./pyicon.py evolution 32
/usr/share/icons/Humanity/apps/48/evolution.svg

Если вы предпочитаете хранить все в одном месте (конечно, понятно для одноразовых скриптов), вы можете встроить python так:

python -c 'import gtk, sys; theme = gtk.icon_theme_get_default(); icon = theme.lookup_icon(sys.argv[1], int(sys.argv[2]), ()); print icon.get_filename() if icon else ""' evolution 32
1
ответ дан 25 May 2018 в 19:22
  • 1
    Я знал об этом, но я искал способ сделать это, спасибо вам в любом случае – danjjl 13 August 2011 в 16:06
  • 2
    Это лучшее решение, чем просто совместное использование путей и надеемся, что это сработает. При этом он находит ближайший возможный значок (он будет отступать) в ближайшем доступном размере. – Oli♦ 13 August 2011 в 20:08

Я не знаю, как это сделать непосредственно из сценария bash, но я только что написал небольшой скрипт Python, который вы можете использовать в качестве утилиты, которая поможет вам:

#!/usr/bin/env python # pyicon.py import gtk, sys theme = gtk.icon_theme_get_default() icon = theme.lookup_icon(sys.argv[1], int(sys.argv[2]), ()) if icon: print icon.get_filename()

Сохранить это как pyicon.py где-нибудь и (необязательно) chmod +x это.

Тогда вы можете вызвать его, щелкая по имени значка и размеру, и он ответит путем. Пример:

$ ./pyicon.py evolution 32 /usr/share/icons/Humanity/apps/48/evolution.svg

Если вы предпочитаете хранить все в одном месте (конечно, понятно для одноразовых скриптов), вы можете встроить python так:

python -c 'import gtk, sys; theme = gtk.icon_theme_get_default(); icon = theme.lookup_icon(sys.argv[1], int(sys.argv[2]), ()); print icon.get_filename() if icon else ""' evolution 32
1
ответ дан 25 July 2018 в 21:28
  • 1
    Я знал об этом, но я искал способ сделать это, спасибо вам в любом случае – danjjl 13 August 2011 в 16:06
  • 2
    Это лучшее решение, чем просто совместное использование путей и надеемся, что это сработает. При этом он находит ближайший возможный значок (он будет отступать) в ближайшем доступном размере. – Oli♦ 13 August 2011 в 20:08

Я не знаю, как это сделать непосредственно из сценария bash, но я только что написал небольшой скрипт Python, который вы можете использовать в качестве утилиты, которая поможет вам:

#!/usr/bin/env python # pyicon.py import gtk, sys theme = gtk.icon_theme_get_default() icon = theme.lookup_icon(sys.argv[1], int(sys.argv[2]), ()) if icon: print icon.get_filename()

Сохранить это как pyicon.py где-нибудь и (необязательно) chmod +x это.

Тогда вы можете вызвать его, щелкая по имени значка и размеру, и он ответит путем. Пример:

$ ./pyicon.py evolution 32 /usr/share/icons/Humanity/apps/48/evolution.svg

Если вы предпочитаете хранить все в одном месте (конечно, понятно для одноразовых скриптов), вы можете встроить python так:

python -c 'import gtk, sys; theme = gtk.icon_theme_get_default(); icon = theme.lookup_icon(sys.argv[1], int(sys.argv[2]), ()); print icon.get_filename() if icon else ""' evolution 32
1
ответ дан 2 August 2018 в 03:06
  • 1
    Я знал об этом, но я искал способ сделать это, спасибо вам в любом случае – danjjl 13 August 2011 в 16:06
  • 2
    Это лучшее решение, чем просто совместное использование путей и надеемся, что это сработает. При этом он находит ближайший возможный значок (он будет отступать) в ближайшем доступном размере. – Oli♦ 13 August 2011 в 20:08

Я не знаю, как это сделать непосредственно из сценария bash, но я только что написал небольшой скрипт Python, который вы можете использовать в качестве утилиты, которая поможет вам:

#!/usr/bin/env python # pyicon.py import gtk, sys theme = gtk.icon_theme_get_default() icon = theme.lookup_icon(sys.argv[1], int(sys.argv[2]), ()) if icon: print icon.get_filename()

Сохранить это как pyicon.py где-нибудь и (необязательно) chmod +x это.

Тогда вы можете вызвать его, щелкая по имени значка и размеру, и он ответит путем. Пример:

$ ./pyicon.py evolution 32 /usr/share/icons/Humanity/apps/48/evolution.svg

Если вы предпочитаете хранить все в одном месте (конечно, понятно для одноразовых скриптов), вы можете встроить python так:

python -c 'import gtk, sys; theme = gtk.icon_theme_get_default(); icon = theme.lookup_icon(sys.argv[1], int(sys.argv[2]), ()); print icon.get_filename() if icon else ""' evolution 32
1
ответ дан 4 August 2018 в 18:57
  • 1
    Я знал об этом, но я искал способ сделать это, спасибо вам в любом случае – danjjl 13 August 2011 в 16:06
  • 2
    Это лучшее решение, чем просто совместное использование путей и надеемся, что это сработает. При этом он находит ближайший возможный значок (он будет отступать) в ближайшем доступном размере. – Oli♦ 13 August 2011 в 20:08

Я не знаю, как это сделать непосредственно из сценария bash, но я только что написал небольшой скрипт Python, который вы можете использовать в качестве утилиты, которая поможет вам:

#!/usr/bin/env python # pyicon.py import gtk, sys theme = gtk.icon_theme_get_default() icon = theme.lookup_icon(sys.argv[1], int(sys.argv[2]), ()) if icon: print icon.get_filename()

Сохранить это как pyicon.py где-нибудь и (необязательно) chmod +x это.

Тогда вы можете вызвать его, щелкая по имени значка и размеру, и он ответит путем. Пример:

$ ./pyicon.py evolution 32 /usr/share/icons/Humanity/apps/48/evolution.svg

Если вы предпочитаете хранить все в одном месте (конечно, понятно для одноразовых скриптов), вы можете встроить python так:

python -c 'import gtk, sys; theme = gtk.icon_theme_get_default(); icon = theme.lookup_icon(sys.argv[1], int(sys.argv[2]), ()); print icon.get_filename() if icon else ""' evolution 32
1
ответ дан 6 August 2018 в 03:19
  • 1
    Я знал об этом, но я искал способ сделать это, спасибо вам в любом случае – danjjl 13 August 2011 в 16:06
  • 2
    Это лучшее решение, чем просто совместное использование путей и надеемся, что это сработает. При этом он находит ближайший возможный значок (он будет отступать) в ближайшем доступном размере. – Oli♦ 13 August 2011 в 20:08

Я не знаю, как это сделать непосредственно из сценария bash, но я только что написал небольшой скрипт Python, который вы можете использовать в качестве утилиты, которая поможет вам:

#!/usr/bin/env python # pyicon.py import gtk, sys theme = gtk.icon_theme_get_default() icon = theme.lookup_icon(sys.argv[1], int(sys.argv[2]), ()) if icon: print icon.get_filename()

Сохранить это как pyicon.py где-нибудь и (необязательно) chmod +x это.

Тогда вы можете вызвать его, щелкая по имени значка и размеру, и он ответит путем. Пример:

$ ./pyicon.py evolution 32 /usr/share/icons/Humanity/apps/48/evolution.svg

Если вы предпочитаете хранить все в одном месте (конечно, понятно для одноразовых скриптов), вы можете встроить python так:

python -c 'import gtk, sys; theme = gtk.icon_theme_get_default(); icon = theme.lookup_icon(sys.argv[1], int(sys.argv[2]), ()); print icon.get_filename() if icon else ""' evolution 32
1
ответ дан 7 August 2018 в 21:00
  • 1
    Я знал об этом, но я искал способ сделать это, спасибо вам в любом случае – danjjl 13 August 2011 в 16:06
  • 2
    Это лучшее решение, чем просто совместное использование путей и надеемся, что это сработает. При этом он находит ближайший возможный значок (он будет отступать) в ближайшем доступном размере. – Oli♦ 13 August 2011 в 20:08

Другие вопросы по тегам:

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