1

Я использую Linux Mint 17 и делаю сценарий Conky . Я хотел бы, чтобы он отображал имя хоста маршрутизатора / точки доступа, к которой я подключен. Я просто не знаю команду Linux, чтобы получить ее.

2 ответа2

2

РЕДАКТИРОВАТЬ: только что понял, что запрос был о конкретном скрипте Conky после публикации этого ответа на основе Bash. Оставьте это здесь на всякий случай, если это будет полезно.

Имя хоста для роутера? Уверен, что это невозможно, поскольку большинству шлюзов не назначено имя хоста или даже не выдано имя хоста. Но вы можете получить IP-адрес, используя route по grep и awk следующим образом:

route | grep "default" | awk '{ print $2 }'

Это даст вам чистый IP-адрес маршрутизатора. Теперь, если вы хотите MAC-адрес, просто сделайте это с помощью arp и эта команда снова смешается с grep и awk :

arp -a | grep $(route | grep "default" | awk '{ print $2 }') | awk '{ print $4 }'

И если вы хотите присвоить эти значения переменным Bash, просто сделайте это для IP-адреса маршрутизатора:

ROUTER_IP=$(route | grep "default" | awk '{ print $2 }')

И сделайте это для MAC-адреса:

ROUTER_MAC=$(arp -a | grep $(route | grep "default" | awk '{ print $2 }') | awk '{ print $4 }')

И тогда вы можете использовать эти присвоенные значения, ссылаясь на $ROUTER_IP и $ROUTER_MAC . Например, если вы только что запустили эти два назначения переменных, просто запустите эти команды echo из командной строки следующим образом:

echo $ROUTER_IP
echo $ROUTER_MAC
0

Имя хоста и ESSID - это две разные вещи.

Но если вы используете Conky и хотите ESSID это будет примерно так:

${offset 60}${font Ubuntu:size=12,weight:normal}${color1}Wlan0: ${wireless_essid wlan0}

Поскольку теперь мне ясно, вы на самом деле имеете в виду имя хоста внешнего IP-адреса точки доступа, а не путаницу имени хоста и ESSID.

Вы можете создать скрипт и поместить его в .conky/script

mkdir ~/.conky/scripts

gedit ~/.conky/scripts/hostname.sh

#!/bin/bash
dig +short myip.opendns.com @resolver1.opendns.com | xargs dig +short -x

Сделайте его исполняемым chmod +x ~/conky/scripts/hostname.sh

добавьте в свой .conkyrc что-то вроде

${offset 60}${font Ubuntu:size=12,weight:normal}${color1}Hostname: ${execi 10000 ~/.conky/scripts/hostname.sh}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .