Сайт | Скачать | Видео | Wiki

Автор Тема: Подключение sfs без перезагрузки.  (Прочитано 27340 раз)

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

Оффлайн bit777

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1037
  • Репутация: +127/-0
Re: Подключение sfs без перезагрузки.
« Ответ #30 : 10 Июль 2009, 00:43:21 »
Попробовал ваш пакет и обнаружил 2 бага в скрипте list_sfs
1. При загрузке puppyrus с флешки или с HDD на котором нет сохраненки файлы SFS не находятся
2. Если в корне диска находятся файлы или папки в имени которых присутствуют, буквы sfs все они отображаются в диалоге выбрать sfs.
Попробовал исправить. вот что получилось
Код
#!/bin/sh
#DdShurick---->
xmessage -title "Подключены модули:" -geometry 250x50 "`cat /etc/rc.d/SFSMODULE | grep mount | cut -f 2 -d "#"`"
#Bit777---->
. /etc/rc.d/PUPSTATE
DISK="`echo -n "$PUPSFS" | cut -f 1 -d ','`"
FILESYS="`echo -n "$PUPSFS" | cut -f 2 -d ','`"
MNT="`grep -i \"$DISK\" /etc/mtab | cut -d" " -f2 `"
if [ "$MNT" = "" ];then
 mount -t $FILESYS /dev/$DISK /mnt/$DISK
 MNT=/mnt/$DISK ;
 fi
#DdShurick---->
cd $MNT
SFSs=`find *.sfs | sed -e '/pup_301.*.sfs/d;/zdrv_301.sfs/d;s/^/ /;s/$/ ./'`
#SFSs=`ls $MNT | grep .sfs | sed -e '/pup_301.*.sfs/d;/zdrv_301.sfs/d;s/^/ /;s/$/ ./'`
if [ "`echo $SFSs`" = "" ];then
xmessage "SFS-модули отсутствуют"
exit ;
else
DIALOG=${DIALOG=Xdialog}
tempfile=`mktemp 2>/dev/null` || tempfile=/tmp/test$$
trap "rm -f $tempfile" 0 1 2 5 15

$DIALOG --clear --title "Выберите из списка:" \
        --menu "Доступные SFS-модули:" 20 51 4 \
$SFSs 2> $tempfile

retval=$?

choice=`cat $tempfile`

case $retval in
  0)
mnt_sfs $MNT/$choice
list_sfs
;;
  *)
exit ;;
esac
fi

Оффлайн bit777

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1037
  • Репутация: +127/-0
Re: Подключение sfs без перезагрузки.
« Ответ #31 : 10 Июль 2009, 18:49:36 »
DdShurick Извиняюсь случайно удалил ваш последний ответ.
Поэтому добавлю ваш вложенный файл
« Последнее редактирование: 10 Июль 2009, 19:58:14 от bit777 »

Оффлайн Andrew Koshak

  • Новичок
  • *
  • Сообщений: 18
  • Репутация: +2/-0
Re: Подключение sfs без перезагрузки.
« Ответ #32 : 07 Январь 2010, 16:54:20 »
Господа-товарищи,
никто не пробовал побороть глюк, когда после включения/выключения какого-нить модуля (кажется неважно, на сеанс или навсегда) "вдруг" при  следующем старте стола известная часть иконок (навскидку те, что как бы "не на дефолтных местах") оказываются раскиданными. Часть налезают друг на друга... задолбало! чес-слово... %)
Рашпиль, напильник и надфиль - лучшие инструменты *nix-юзера... :)
"Знание некоторых правил освобождает голову от нужды в знании множества частностей" (с)
"Платон мне друг, но истина дороже" (с)

Оффлайн Fliker09

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1624
  • Репутация: +120/-1
  • Puppy 4ever!
Re: Подключение sfs без перезагрузки.
« Ответ #33 : 07 Январь 2010, 17:13:04 »
Господа-товарищи,
никто не пробовал побороть глюк, когда после включения/выключения какого-нить модуля (кажется неважно, на сеанс или навсегда) "вдруг" при  следующем старте стола известная часть иконок (навскидку те, что как бы "не на дефолтных местах") оказываются раскиданными. Часть налезают друг на друга... задолбало! чес-слово... %)
- знакомая болезнь... Кто-нить знает решения? Я обычно просто из резерва ставлю обратно пин-файлы.
Я покинул проект так что прошу в случае чего писать мне на мыло!
Драйверы от разных систем НЕСОВМЕСТИМЫ!
http://wellminded.com/puppy/pupsearch.html -
 - поиск по http://www.murga-linux.com/puppy/
http://www.minus.com/ - для постоянного хранения файлов
http://rghost.ru/ - для временного хранения файлов
http://appdb.winehq.org/ - база данных WINE
http://jabberworld.info/ - всё о Jabber
http://convertfiles.com/ - конвертер файлов

Оффлайн Andrew Koshak

  • Новичок
  • *
  • Сообщений: 18
  • Репутация: +2/-0
Re: Подключение sfs без перезагрузки.
« Ответ #34 : 07 Январь 2010, 17:44:25 »
- знакомая болезнь... Кто-нить знает решения? Я обычно просто из резерва ставлю обратно пин-файлы.
А где они лежат? Что зарезервировать-то? :)
Рашпиль, напильник и надфиль - лучшие инструменты *nix-юзера... :)
"Знание некоторых правил освобождает голову от нужды в знании множества частностей" (с)
"Платон мне друг, но истина дороже" (с)

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Подключение sfs без перезагрузки.
« Ответ #35 : 07 Январь 2010, 17:49:37 »
/root/Choices/ROX-Filer/PuppyPin
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Andrew Koshak

  • Новичок
  • *
  • Сообщений: 18
  • Репутация: +2/-0
Re: Подключение sfs без перезагрузки.
« Ответ #36 : 07 Январь 2010, 17:51:52 »
Спасибо!
Рашпиль, напильник и надфиль - лучшие инструменты *nix-юзера... :)
"Знание некоторых правил освобождает голову от нужды в знании множества частностей" (с)
"Платон мне друг, но истина дороже" (с)

Оффлайн Andrew Koshak

  • Новичок
  • *
  • Сообщений: 18
  • Репутация: +2/-0
Re: Подключение sfs без перезагрузки.
« Ответ #37 : 07 Январь 2010, 20:07:54 »
/root/Choices/ROX-Filer/PuppyPin

Временное "хакерское" решение:

1. Изменяем немного скрипт бутменеджера, чтобы он автоматом делал бэкап PuppyPin

В ф-ле /usr/sbin/bootmanager перед строчкой:

 RETTAGS="`cat /tmp/bmrettags.txt`"

вставляем:
 # Create backup PuppyPin for restoring the Desktop Icons reordering...
 cp /root/Choices/ROX-Filer/PuppyPin /root/Choices/ROX-Filer/PuppyPin.bak
 # /Create

Должно получиться:

...
 done

 # Create backup PuppyPin for restoring the Desktop Icons reordering...
 cp /root/Choices/ROX-Filer/PuppyPin /root/Choices/ROX-Filer/PuppyPin.bak
 # /Create
 RETTAGS="`cat /tmp/bmrettags.txt`"

 if [ "`echo "$RETTAGS" | grep 'unchecked'`" = "" ];then
...

2. В загрузочном скрипте паппика /root/.xinitrc перед строчками (почти вначале):

if [ -f /root/.jwm/jwm_colors ];then #v3.96
. /root/.jwm/jwm_colors
fi

вставляем код:

# Restore backuped PuppyPin if exist the PuppyPin.bak file...
if [ -f /root/Choices/ROX-Filer/PuppyPin.bak ];then
  rm /root/Choices/ROX-Filer/PuppyPin
  cp /root/Choices/ROX-Filer/PuppyPin.bak /root/Choices/ROX-Filer/PuppyPin
  rm /root/Choices/ROX-Filer/PuppyPin.bak
fi
# /Restore

Должно получиться:

...
. /etc/rc.d/PUPSTATE

# Restore backuped PuppyPin if exist the PuppyPin.bak file...
if [ -f /root/Choices/ROX-Filer/PuppyPin.bak ];then
  rm /root/Choices/ROX-Filer/PuppyPin
  cp /root/Choices/ROX-Filer/PuppyPin.bak /root/Choices/ROX-Filer/PuppyPin
  rm /root/Choices/ROX-Filer/PuppyPin.bak
fi
# /Restore
if [ -f /root/.jwm/jwm_colors ];then #v3.96
. /root/.jwm/jwm_colors
fi
...

ВСЁ! :)
Должно сработать. Пробую на себе ;)

Странно, что хакеры-собаководы до сих пор не додумались, хоть таким простым хаком, устранить эту заразу с иконками... :(

UPD:
Попробовал пару раз - сработало.

Кстати, в дополнение к вышеописанному можно оформить отдельным скриптом код:

#!/bin/sh
# Restore backuped PuppyPin if exist the PuppyPin.bak file...
if [ -f /root/Choices/ROX-Filer/PuppyPin.bak ];then
  rm /root/Choices/ROX-Filer/PuppyPin
  cp /root/Choices/ROX-Filer/PuppyPin.bak /root/Choices/ROX-Filer/PuppyPin
fi

и назвав его вроде restorePuppyPin.sh (не забыть сделать исполняемым!) и повесить на иконку (на всякий случай), или добавить в меню рядом с позицией "Обновить меню"... только нужно после этого перезагрузить Х (я пока не нашел, как сделать это из данного скрипта).

Спасибо DdShurick за наводку! :)

Успехов - тестите и добавляйте в релиз! :)
« Последнее редактирование: 07 Январь 2010, 20:53:06 от Andrew Koshak »
Рашпиль, напильник и надфиль - лучшие инструменты *nix-юзера... :)
"Знание некоторых правил освобождает голову от нужды в знании множества частностей" (с)
"Платон мне друг, но истина дороже" (с)

Оффлайн melviX

  • Инициатор проекта
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2096
  • Репутация: +97/-0
    • PuppyRus Linux
Re: Подключение sfs без перезагрузки.
« Ответ #38 : 27 Август 2010, 14:23:14 »
Временное "хакерское" решение:
А кто мог бы довести это до скрипта, потестить и выложить?
Может ещё актуально?
Free software for free people