Enable Shell commands

Hi all,
i had read almost all about execution of shell commands in Support section without luck.
i have check enable shell command in display setting and in Module section where i can see shell command enbale but the module is not enable even it is. Library Media needs to have a flag to execute commands?

What CMS version are you using please?

For 1.8 it is as in the following link:
https://xibo.org.uk/manual/en/displays_commands.html

ie you create the command on Commands page, then edit display profile and add the command string there, you can then execute the commands directly on the display/display group or scheduled on Schedule page, alternatively you can also add shell command widget to your layout with the created command.

HI Peter, thank you for yuor reply. i have CMS 1.8.3 i follow the procedure you suggest me but without luck .
the client are all windows 10 the command is shutdown /h that it work from cmd directly.
i tried to schedule it in a region in layout and as a command.

That is exactly what you need to do. Please copy the example exactly, especially the command code.

Note that shutdown /h won’t work - Windows will stop shutting down because Xibo will prevent it from doing so as it prevents the computer from sleeping by default. You must use the command string in that example.

Hi Alex, nothing to do i schedule the command as is or in layout shutdown /f /r /t 0 as in your example. Porbably i made something wrong. tomorrow i’ll try to restart to create a command from the beginnig.
Thank you

You must create the command codes exactly as shown in the example to use the schedule for sending commands. Once setup, the player must connect to the CMS once to download the new command definitions before the commands will work.

If you’re using shell commands from a layout, then you also need to enable shell commands in the display settings profile for your Windows devices. There’s a tick box to enable it. Again, once that is set, you must allow time for the new configuration to be downloaded by the player before the command will work.

Best very careful putting shutdown or reboot commands on a layout however, as you can end up in a situation if they were scheduled ‘always’ where the device will start, Xibo will run, and then immediately restart or shut down before Xibo has time to retrieve updated schedule from the CMS.

For that reason we recommend using the commands definition, and scheduling commands per the example I sent earlier.

Hi Alex, i follow exactly your example the layout scheduled run but the command no. If you want i can post some screenshot of my configuration.

Please do post screenshots

i tryed to schedule it as command and as layout without effect. Is it ok?

The screenshots look fine (assuming that’s the only command definition you have in the system), but you’re trying both possible ways, and I think that’s what’s causing confusion.

Assuming you have XMR configured and working, you should be able to go to the Display page in the CMS, select your display and then from the action menu choose “Send Command”. You’d then choose reboot, and the Player will reboot there and then. No messing about with layouts or scheduling.

If you don’t have XMR working, then you’d create a schedule for the command (again, no layouts involved).

Assuming the Player collects from the CMS before that time, then the command will be run at that time.

If you want to tie the command to a layout (so you always want the Player to reboot when this layout is shown), then you can do so by enabling the shell command module (as you have done), and creating your layout with a shell command widget in it. You also need to enable shell commands in the display profile or they will be ignored by the Player:

Again, the Player will need to collect from the CMS for that setting to take effect.

i didn’t try the two way at the same time, i tryed first schedule command without effect then i try layout way and then send command directly to the display. my edit profile section is the same as your. How can i test my XMR?
Anyway no luck with shell command.

Did you setup and configure XMR? If you didn’t then it won’t be working.

We know the shell commands functionality works. The thread I linked you to demonstrates that, and I labbed it up here to answer that, so there’s something amis in your setup.

I can’t really offer you more assistance with this than I have done already. You need to start digging in to the logs yourself and see what errors you are getting from the Player.

Alex thanks for your time
i set the ip of xmr in cms settings. I didn’t make any other config.
can i ask you a link to read more about xmr config?

Are you using Docker or not?

What exactly did you enter in the XMR settings?

Yes i use docker in ubuntu 17.10
i enter only local ip (local ip ubuntu not the container ip 172.x.x.x) for both public and local xmr
windows firewall is off same for ubuntu box.

That’s unlikely to be right then, assuming you’re using our docker-compose files.

For the XMR private address, you should leave it at the default for a docker install - ie

tcp://cms-xmr:50001

For the XMR public address, it needs to be the same IP or hostname as your players connect at. So if your Players are configured to access http://192.168.1.100, you’d enter tcp://192.168.1.100:9505. If they’re configured to access http://cms.example.com, then you’d enter tcp://cms.example.com:9505

You’ll need to ensure that port tcp/9505 is allowed inbound through any firewall.

Thank you Alex now shell commands run

Hi Alex,
What if am not using docker and I have a custom setup using xampp and my cms path is http://localip/cms/web on windows server 2012 r2 platform ?
What needs to be configured in XMR Private and as well as in Public Address? I have port tcp 9505 allowed inbound in firewall settings.
Thanks!

It would depend how you’d configured the XMR server when you set it up.

Assuming it’s running on the same machine, and you have left the configuration as default, then you’d want:

XMR Private: tcp://127.0.0.1:50001
XMR Public: tcp://localip:9505

Note that you have web in your CMS address URL. Your CMS is incorrectly installed and you will have issues with it as a result. Setting up a CMS outside docker is hard and that’s why we don’t recommend it.

I have configured XMR by php_zmq-1.1.2-5.6-ts-vc11-x86 (…\XAMPP\php\ext\php_zmq.dll & …\XAMPP\libzmq.dll…& …\XAMPP\Apache\libzmq.dll with \XAMPP\php\php.ini with extension=php_zmq.dll

After XMR configuration, Server meet requirements was fine for XMR while setting up CMS.

And inbound ports are allowed as shown in the screenshot.

I have set the XMR Private and Public address as you have shown above but still I am not able to use the Command function. It says the “Command sent to …” but nothing works. I have used commands “shutdown -h now” and also “shutdown.exe -r -f -t 00” but no luck.