3 À<×e ã @ sV d dl jZddlmZ d dlZd dlZd dlmZm Z ej jƒ ZG dd„ dej ƒZdS )é Né )Úbase)ÚPopenÚPIPEc sb e Zd ZdZedd„ ƒZdd„ Zdd„ Zdd „ Z‡ fd d„Z ‡ fdd „Z ejf‡ fdd„ Z ‡ ZS )ÚScriptPluginac `script`:: Executes an external script or binary when the profile is loaded or unloaded. You can choose an arbitrary executable. + IMPORTANT: The `script` plug-in is provided mainly for compatibility with earlier releases. Prefer other *TuneD* plug-ins if they cover the required functionality. + *TuneD* calls the executable with one of the following arguments: + -- ** `start` when loading the profile ** `stop` when unloading the profile -- + You need to correctly implement the `stop` action in your executable and revert all settings that you changed during the `start` action. Otherwise, the roll-back step after changing your *TuneD* profile will not work. + Bash scripts can import the [filename]`/usr/lib/tuned/functions` Bash library and use the functions defined there. Use these functions only for functionality that is not natively provided by *TuneD*. If a function name starts with an underscore, such as `_wifi_set_power_level`, consider the function private and do not use it in your scripts, because it might change in the future. + Specify the path to the executable using the `script` parameter in the plug-in configuration. + .Running a Bash script from a profile ==== To run a Bash script named `script.sh` that is located in the profile directory, use: ---- [script] script=${i:PROFILE_DIR}/script.sh ---- ==== c C s dd iS )NÚscript© )Úselfr r ú#/usr/lib/python3.6/plugin_script.pyÚ_get_config_options6 s z ScriptPlugin._get_config_optionsc C s2 d|_ d|_|jd d k r(|jd |_ng |_d S )NTFr )Z_has_static_tuningZ_has_dynamic_tuningZoptionsÚ_scripts)r Úinstancer r r Ú_instance_init<