commit
c133f41833
3 changed files with 47 additions and 0 deletions
@ -0,0 +1,29 @@ |
||||
This plugin provides a wrapper around the "wakeonlan" tool available from most |
||||
distributions' package repositories, or from the following website: |
||||
|
||||
http://gsd.di.uminho.pt/jpo/software/wakeonlan/ |
||||
|
||||
In order to use this wrapper, create the ~/.wakeonlan directory, and place in |
||||
that directory one file for each device you would like to be able to wake. Give |
||||
the file a name that describes the device, such as its hostname. Each file |
||||
should contain a line with the mac address of the target device and the network |
||||
broadcast address. |
||||
|
||||
For instance, there might be a file ~/.wakeonlan/leto with the following |
||||
contents: |
||||
|
||||
00:11:22:33:44:55:66 192.168.0.255 |
||||
|
||||
To wake that device, use the following command: |
||||
|
||||
# wake leto |
||||
|
||||
The available device names will be autocompleted, so: |
||||
|
||||
# wake <tab> |
||||
|
||||
...will suggest "leto", along with any other configuration files that were |
||||
placed in the ~/.wakeonlan directory. |
||||
|
||||
For more information regarding the configuration file format, check the |
||||
wakeonlan man page. |
||||
@ -0,0 +1,4 @@ |
||||
#compdef wake |
||||
#autoload |
||||
|
||||
_arguments "1:device to wake:_files -W '$HOME/.wakeonlan'" && return 0 |
||||
@ -0,0 +1,14 @@ |
||||
function wake() { |
||||
local config_file="$HOME/.wakeonlan/$1" |
||||
if [[ ! -f "$config_file" ]]; then |
||||
echo "ERROR: There is no configuration file at \"$config_file\"." |
||||
return 1 |
||||
fi |
||||
|
||||
if (( ! $+commands[wakeonlan] )); then |
||||
echo "ERROR: Can't find \"wakeonlan\". Are you sure it's installed?" |
||||
return 1 |
||||
fi |
||||
|
||||
wakeonlan -f "$config_file" |
||||
} |
||||
Loading…
Reference in new issue