phd_ru: (Default)
[personal profile] phd_ru
У меня в ноутбуке 2 сетевых устройства (ethernet и wifi), "воткнутых" в один маршрутизатор. Время от времени я между ними переключаюсь. Самая большая сложность при переключении — доступ к Иксам (у интерфейсов разные IP, разные имена хостов). Вместо переключения разрешений я при запуске стал давать разрешение на доступ с обоими именами:
#!/bin/sh
# .xinitrc

# Add X authorization for all host names
if xauth list | grep -Fq -- -eth; then
   if xauth list | grep -Fq -- -wifi; then
      # Nothing to do
      :
   else
      xauth list | sed -e 's/^/add /' -e 's/-eth/-wifi/' | xauth
   fi
elif xauth list | grep -Fq -- -wifi; then
   xauth list | sed -e 's/^/add /' -e 's/-wifi/-eth/' | xauth
else
   echo "Unknown xauth info" >&2
   xauth list
   exit 1
fi

Вторая проблема — именованные сокеты FvwmCommand содержат имя хоста, поэтому их надо переименовать. Остальное совсем просто. В скрипте от рута:
#! /bin/sh

ifdown eth0
ifup wlan0
echo notebook-wifi > /etc/hostname
hostname `cat /etc/hostname`
cp -p /etc/hostname /etc/mailname
/etc/init.d/exim4 reload

if [ "DISPLAY" ]; then
   su - phd -c "
      (cd /var/tmp &&
      mv FvwmCommand-notebook-eth:0.0C FvwmCommand-notebook-wifi:0.0C &&
      mv FvwmCommand-notebook-eth:0.0M FvwmCommand-notebook-wifi:0.0M)
   "
fi

Хосты называются notebook-eth и notebook-wifi. :-)

В обратную сторону всё строго наоборот.

December 2025

S M T W T F S
 123456
78910 11 12 13
141516171819 20
2122 2324252627
28 293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 06:54 pm
Powered by Dreamwidth Studios