unMENU 1.5 ... now available for download.


Recommended Posts

unMENU installer ... beta-release, for those who would like to help me get out any last minute bugs before I put it on google.code.

 

the unMENU installer is now on google.code here: http://code.google.com/p/unraid-unmenu/  It will automatically install the latest versions of all the files that make up unMENU.

 

Attached is unMENU version 1.3.  It is updated to work with the newer 4.5, 4.6, 4.7, and 5.X versions of unRAID although it should also work on older versions too.

 

It is all in a pair of zip files (attached to this post) It was too big to fit in one  :o.

It entirely replaces any existing files you might have.  In the same way, the "package" files replace those you might have.  Obviously, if you created any of your own, those are not replaced.

 

I'd copy any existing /boot/packages directory to some safe place, just in case you want to revert.  The same for the /boot/unmenu directory.  All of the download links have been updated as needed to point to a valid source as of this release.

 

Then, download the attachments to this post from here and un-zip to /boot/unmenu

 

The downloaded zip file will contain one file it is named "unmenu_install"   That one file contains a script that can install and update unmenu on your server.

 

Then, if updating an existing unmenu installation type

cd /boot/unmenu

unmenu_install -u

 

If you do not have an existing unMENU installed, and are installing it in a new empty directory type:

mkdir /boot/unmenu

to create the new directory

 

Then copy the "unmenu_install" file you downloaded and unzipped to that directory.

From your PC's file explorer, you can copy the file to

\\tower\flash\unmenu

 

Then, log in as "root" and type:

cd /boot/unmenu

unmenu_install -i -d /boot/unmenu

 

Run as before with

cd /boot/unmenu

./uu

 

If you are currently running unmenu, you'll need to kill it and re-start it to have it read in the new files.

 

The package manager now has the ability to have user-editable variables.  It also can have multiple downloadable files per package.  This now allows you to install a full "C" development environment and subsequently compile other packages otherwise available only in source code form.

 

Lots of changes on many pages.   It will take some time to list them all.   Lots of new and interesting "packages"  Wait until you see unRAID-Web, and the ajaxExplorer file-explorer available under it.

 

One "package" will install a swap-file.  This is important if you are running with limited memory as I am.  This is a new type of "package" with no download file affiliated.  Once you install the swap-file, additional "buttons" will appear on the User-Scripts page to disable and enable the swap-file.  (You'll want to disable it when not needed if you create it on /boot to maximize the life of the flash drive)  We now have "Conditional" Buttons for user-scripts.  they can appear when appropriate.

 

Another "package" will install a full version of "mailx" and "ssmtp" that will make it much easier to send mail through "gmail"

In fact, since there is no version of compiled "ssmtp" with the ability to use SSL sessions with gmail, that package compiles ssmtp from source code using the "C" compiler.    It is very easy to configure, since the package manager now has editable fields for values needed in the configuration.

keylpe.jpg

 

In the same way, as of this post the most current version of ntfs-3g is not available as a Slackware package, but we can now download and compile the most current version in the package manager with a few button clicks. The compiled version is now available.  The ntfs-3g package has been updated accordingly.

 

The package for APC UPS support also has editable fields to allow ease of configuration.

13yplxw.jpg

 

Once unRAID version 5.0 is released we'll probably change a lot more of this and convert the plug-in pages to work under the 5.0 API, but in the interim, we get to evaluate a lot more of the potential of our servers.

 

Feedback is desired (and expected)     If you attempt to use the new package .conf files on the older 1.2 version of unMENU they will not function properly. (They should not fail completely, but you will not have the added features of multiple download files per package and editable fields)   If you look in the "About" link and still see version 1.2, you are not running the new version.

 

Have fun.   I can't wait to see the new add-on packages we can create now.

 

Edit: the attached beta files are no longer available.  They have been entirely replaced with a single downloadable file available from google.code

 

Download from here: http://code.google.com/p/unraid-unmenu/downloads/list

Install instructions are here: http://code.google.com/p/unraid-unmenu/

Joe L.

Link to comment
  • Replies 1.3k
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

The "screen" package is now available in the package manager in unmENU.

Attached is a "package" conf file for "screen" that will work with this version of unMENU.  Screen requires the additional utempter library, and this attached .conf  file will download and install both the screen Slackware package and the required shared library too.

 

Have fun.  When it installs it will complain that several files in /var are unwritable.  Don't worry, unRAID does not need or use those files.

 

Joe L.

 

 

Link to comment

Hi. I have installed and will give it a try. However, is it possible to use the server IP rather than "name" like "tower". I do not know why but I am getting a lot of URL errors. This is happening with firefox in a mixed MAC/PC environment. I never managed to find the server using the name instead of IP and I understood that this has to do somethimg with Os X network protocols. Could it be possible to replace the tower in URLs ("http://(TOWER):8080/") with IP number? Otherwise I need to correct every URL manually which will be  a pain :)

Link to comment

Hi. I have installed and will give it a try. However, is it possible to use the server IP rather than "name" like "tower". I do not know why but I am getting a lot of URL errors. This is happening with firefox in a mixed MAC/PC environment. I never managed to find the server using the name instead of IP and I understood that this has to do somethimg with Os X network protocols. Could it be possible to replace the tower in URLs ("http://(TOWER):8080/") with IP number? Otherwise I need to correct every URL manually which will be  a pain :)

Add two lines in the unmenu.conf file

 

MyHost=192.168.0.11

unRAIDHost = 192.168.0.11

 

Setting the correct IP address, of course.  Use the Config View/Editor built into unMENU, or one that uses unix style newlines at the ends of lines.

 

Then, re-start unMENU (There is a button for that on the User-Scripts page)

 

Joe L.

Link to comment

Thank you. Looks really awesome! Modified the unmenu.conf with embedded text editor. Now URLs are corrected.

Could it be possible to add a SLEEP button (first runs sync then echo 3 > /proc/acpi/sleep) on the Main or Array Management page (or under User Scripts)? That would be very nice for the novice user. I was really looking for such button, but when could not find, needed to go the through the more difficult way (s3.sh and etc.).

Link to comment

Looks good.

 

I'm not sure if this is related, but I tried the HDSentinel button that I couldn't display correctly with the older version of unmenu with this one. It crashed unmenu once or twice, but the times it read, it displayed it oddly like the older version of unmenu.

 

Thx again for the program!

Link to comment

Looks good.

 

I'm not sure if this is related, but I tried the HDSentinel button that I couldn't display correctly with the older version of unmenu with this one. It crashed unmenu once or twice, but the times it read, it displayed it oddly like the older version of unmenu.

 

Thx again for the program!

I've not seen a "HDSentinel button"

 

 

Link to comment

Add two lines in the unmenu.conf file

 

MyHost=192.168.0.11

unRAIDHost = 192.168.0.11

 

 

1) Do the above variables refer to two different things?

2) Do I have to be careful to have the spaces in the second line, but NOT to have spaces in the first line?

 

Link to comment

I put it in the other thread. I did the following:

 

cd /boot/unmenu

cat <<EOF >101-unmenu_user_script_HDSentinel

#define USER_SCRIPT_LABEL HDSentinel

#define USER_SCRIPT_DESCR HDSentinel

/boot/scripts/HDSentinel

EOF

 

When it "works/doesn't crash" it doesn't display correctly for me, but neither did it in tthe older unmenu.

 

That said...any thoughts to putting an unmenu version somewhere on the page?

 

 

Link to comment

Attached is a "package" conf file for "screen" that will work with this version of unMENU.  Screen requires the additional utempter library, and this attached .conf  file will download and install both the screen Slackware package and the required shared library too.

 

Have fun.  When it installs it will complain that several files in /var are unwritable.  Don't worry, unRAID does not need or use those files.

 

Joe L.

 

 

 

Cool.

Thank you!

Link to comment

Add two lines in the unmenu.conf file

 

MyHost=192.168.0.11

unRAIDHost = 192.168.0.11

 

 

1) Do the above variables refer to two different things?

Yes. One is used for the page that puts the stock "main" page in a window.  The other for all the plug-in URLs.

2) Do I have to be careful to have the spaces in the second line, but NOT to have spaces in the first line?

Either will work with or without spaces surrounding the "=" sign.  the Capitalization is important,  but not the spaces surrounding the equal sign.

 

Variables in the unmenu.conf file are parsed by the following "regular expression" :

 

    /^([^# \t=]+)([\t ]*)(=)([\t ]*)(.+)/

 

Which says:

^                         <-  start of line

([^# \t=]+)           <-  One or more characters forming the variable name. The name must not contain a #, a space, a tab, or an equal sign

([\t ]*)                 <- zero or more space or tab characters

(=)                       <- an equal sign

([\t ]*)                  <- zero or more space or tab characters

(.+)                      <- one or more characters other than space or tab which would have been matched in the prior expression. This is the "value" of the variable.

 

The "=", in the two variables you added, can therefore have as many space or tab characters surrounding it as you like.  The two variables must start on the left-most-column, but other than that, it is not too critical.

 

After a few minutes, regular expressions are immediately intuitive.  8);D

 

Joe L.

Link to comment

Few questions:

 

1. Is there a default path for the installation of the user scripts? If there were, could one drop his/her script (like s3.sh) there and modify through the UNMENUs script editor (similarly a backup could be written in back up directory to be on the safer side) and make it install after reboot (like you have this auto_install)?

2. Any thoughts about my earlier query concerning a default SLEEP button for the beginners on the main page?

3. Also would be nice to add a default button for "starting unMenu automatically after reboot" (so no need to deal with the go file)?

 

For linux/unix people these are straight forward, but would make it very user friendly for the novice. Thanks for your attention and the nice work.

 

 

Link to comment

Few questions:

 

1. Is there a default path for the installation of the user scripts? If there were, could one drop his/her script (like s3.sh) there and modify through the UNMENUs script editor (similarly a backup could be written in back up directory to be on the safer side)

As users, we've adopted /boot/custom/bin as the preferred location for add-on scripts.   Any ".sh" file there will show up in the drop-down-list on the Config View/Edit page in unMENU and it automatically keeps dated backup copies. You  can create the folder with

mkdir -p /boot/custom/bin

and make it install after reboot (like you have this auto_install)?

Once you have set one unMENU package set to auto-install upon reboot, even if you subsequently disable that package from auto-installing, then any script in the /boot/packages folder ending with ".auto_install" will be invoked upon reboot.

 

If you created a file in the /boot/packages folder named s3.auto_install and in it put one line:

nohup /boot/custom/bin/s3.sh &

It too would be invoked upon reboot. (assuming the s3.sh was put in /boot/custom/bin)

2. Any thoughts about my earlier query concerning a default SLEEP button for the beginners on the main page?

I missed that question...  never played with s3, so I never thought of a default "sleep" button.   Not a bad idea... Let me think about it.

3. Also would be nice to add a default button for "starting unMenu automatically after reboot" (so no need to deal with the go file)?

Also a nice idea for an improvement.   The command still needs to go in the go script, but it could be added automatically upon push of the button.

For linux/unix people these are straight forward, but would make it very user friendly for the novice. Thanks for your attention and the nice work.

You are welcome.   Part of the reason for version 5 of unRAID is to provide more structure for these add-ons.  We won't know what we have to work with until Tom releases a beta of it.  In the interim, have fun.

 

Joe L.

Link to comment

I love this :) According to your hints, I have put "s3.sh" to "/boot/custom/bin" and now I can get hold of it via unMENU.

I also created as you have suggested "s3.auto_install" at "/boot/packages" with one line /boot/custom/bin/s3.sh script. In addition, I did the same thing for "uu". A new file called "uu.auto_install" was created at /boot/packages containing the following line: /boot/unmenu/uu

 

A minor (?) problem, though: After the changes described above, I wanted to reboot server and tried to STOP the array. I lost the connection for good and had to reboot manually (I am running the server headless) and a "new" parity check :( Now I could not log to web UI of unMENU which indicates that "auto_install" did not work this time. I did check. I had to start the uu via telnet. I rebooted and checked once again. The .auto_install did not work to start the uu or the s3.sh scripts using the method above. I had to enter these lines at the "go" file again.

 

Why do you think "auto_install" is not functioning here eventhough I have the following entry in my "go" file?

"cd /boot/packages && find . -name '*.auto_install' -type f -print | sort | xargs -n1 sh -c"

Link to comment

I love this :) According to your hints, I have put "s3.sh" to "/boot/custom/bin" and now I can get hold of it via unMENU.

I also created as you have suggested "s3.auto_install" at "/boot/packages" with one line /boot/custom/bin/s3.sh script. In addition, I did the same thing for "uu". A new file called "uu.auto_install" was created at /boot/packages containing the following line: /boot/unmenu/uu

 

A minor (?) problem, though: After the changes described above, I wanted to reboot server and tried to STOP the array. I lost the connection for good and had to reboot manually (I am running the server headless) and a "new" parity check :( Now I could not log to web UI of unMENU which indicates that "auto_install" did not work this time. I did check. I had to start the uu via telnet. I rebooted and checked once again. The .auto_install did not work to start the uu or the s3.sh scripts using the method above. I had to enter these lines at the "go" file again.

 

Why do you think "auto_install" is not functioning here even though I have the following entry in my "go" file?

"cd /boot/packages && find . -name '*.auto_install' -type f -print | sort | xargs -n1 sh -c"

You'll probably need to put the "s3.sh in the background and possibly start it with nohup to disassociate it from the "go" script.

 

In other words, the s3.auto_install file might need to contain

nohup /boot/custom/bin/s3.sh &

 

What I think is happening is that your s3.sh never exits, and therefore subsequent .auto_install scripts never run, and since "s" comes lexically before "u", the "s3.auto_install" script held everything up, and it never got to run "uu.auto_install"  (The "sort" in the one line command in the "go" script sorts the files lexically, by design, so you can put leading numbers on the files to run them in a specific order if needed.)

 

I've never experimented with putting "uu" in an auto_install file.  Might work, since it does disassociate itself.

 

At least you can use the Config View/Edit page on the s3.auto_install file you created to edit it, and it will keep a backup of the original for you.

 

Joe L.

Link to comment

It is not my intention to highjack the forums, however, just wanted to let you know that "nohup" did the trick, I managed to reboot and log to the unMENU using the uu.auto_install. So, no need to tweak the "go" file which is an excellent progress from the point of a beginner. Very nice, thanks again. I will check if the s3.sh file functioning as well. If it does, I shall modify this : Is that ok?

Link to comment

It is not my intention to highjack the forums, however, just wanted to let you know that "nohup" did the trick, I managed to reboot and log to the unMENU using the uu.auto_install. So, no need to tweak the "go" file which is an excellent progress from the point of a beginner. Very nice, thanks again. I will check if the s3.sh file functioning as well. If it does, I shall modify this : Is that ok?

You can fix this line there too..

6. REMEMBER to CHMOD your script! Go to the directory where your script is and type "CHMOD +x s3.sh" at the console.
Since linux is case sensitive, and there is NO CHMOD command, the correct command to change the mode of a file would be:

chmod +x s3.sh

 

Link to comment

It is not my intention to highjack the forums, however, just wanted to let you know that "nohup" did the trick, I managed to reboot and log to the unMENU using the uu.auto_install. So, no need to tweak the "go" file which is an excellent progress from the point of a beginner. Very nice, thanks again. I will check if the s3.sh file functioning as well. If it does, I shall modify this : Is that ok?

 

I would like to point you to the Third Party Boot Flash Plugin Architecture article in the wiki.  A lot of the plugins created will take advantage of this and some of the more experiences user will take advantage of it.

Link to comment

It is not my intention to highjack the forums, however, just wanted to let you know that "nohup" did the trick, I managed to reboot and log to the unMENU using the uu.auto_install. So, no need to tweak the "go" file which is an excellent progress from the point of a beginner. Very nice, thanks again. I will check if the s3.sh file functioning as well. If it does, I shall modify this : Is that ok?

 

I would like to point you to the Third Party Boot Flash Plugin Architecture article in the wiki.  A lot of the plugins created will take advantage of this and some of the more experiences user will take advantage of it.

True, but with 5.0 unRAID on the horizon AND I know the existing architecture will NOT work without replacing the driving scripts, the method he used is as good as any and consistent with what he already has in place.

 

We'll all have to make changes when unRAID 5.0 provides "after-array-starts" and "before-array-stops" events.

At least his main S3 script will be in /boot/custom/bin.

 

Joe L.

Link to comment

As suggested by aht961, attached is a new unMENU user-script button to put an array to S3 sleep.

 

It uses a new feature of user-scripts. It dynamically hides the button if your server does not support S3 sleep.

(On my server it is not shown, as it does not support S3 mode)

 

The actual button is pretty simple:

[color=maroon][b]#define USER_SCRIPT_LABEL S3 Sleep
#define USER_SCRIPT_DESCR Put the server to S3 Sleep

# by using a USER_SCRIPT_TEST this button
# will not show itself unless S3 is supported in /proc/acpi/sleep
# the button label will be that printed by the "awk" command

#define USER_SCRIPT_TEST cat /proc/acpi/sleep | grep "S3" | awk '{ print "Go to S3 Sleep" }'

echo "<pre>"
# pre-sleep, sync the disks
echo "Syncing disks"
/bin/sync

# go to sleep
echo 3 > /proc/acpi/sleep
echo "Awaking from sleep"

# Do post-sleep activities, reset wake-on-lan
ethtool -s eth0 speed 1000
ethtool -s eth0 wol gp[/b][/color]

 

You can find a zipped version attached below.  Unzip into your /boot/unmenu folder.

 

Have fun,

Joe L.

85-unmenu_user_script_sleep.zip

Link to comment
I would like to point you to the Third Party Boot Flash Plugin Architecture article in the wiki.  A lot of the plugins created will take advantage of this and some of the more experiences user will take advantage of it.

 

I recently found that the Popcorn Hour community had done a bang-up job on an add-in architecture:

 

  http://www.networkedmediatank.com/showthread.php?tid=33465

 

This is by far, the best implementation of community-supported add-ins I have ever seen... even better than Firefox's.  I would live to develop this type of installer for unRAID.

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.