ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

How to give multiple users on one computer access to run ROS?

asked 2012-07-05 14:46:11 -0600

Solmaz gravatar image

I have installed ROS in my home directory as an administer user. When other users, even with admin privilege, try to run ros commands, they receive the command can not be found message. Is there anyway that I give other users access to run ROS using my software?

edit retag flag offensive close merge delete

Comments

On Ubuntu 18, ROS Melodic I have the same problem. On the same machine I need to connect two different users and both of them to run ROS without interfering to each other.

Any new developments?

Ktysai gravatar image Ktysai  ( 2020-11-25 14:36:44 -0600 )edit

3 Answers

Sort by ยป oldest newest most voted
3

answered 2012-07-05 17:28:57 -0600

joq gravatar image

updated 2012-07-06 10:44:27 -0600

The easiest way is to install the binary packages (assuming you are running Ubuntu).

Update: Do not try sharing access to source trees. Only one user should run rosmake within a working copy. Users should each create their own separate working copies when doing shared development. Synchronize those changes via normal source repository commits and updates.

edit flag offensive delete link more
1

answered 2012-07-05 21:07:14 -0600

You have to configure the .bashrc file of the other user the same way as yours to let them find the path to the executables. Also make sure that the executable files have the permissions correctly set to let other users to execute them.

edit flag offensive delete link more

Comments

While this might work in cases where users just have to execute nodes, it won't if users try to call rosmake unless all shared ROS packages contain a ROS_NOBUILD.

Lorenz gravatar image Lorenz  ( 2012-07-05 22:45:08 -0600 )edit

You are right. I wasn't thinking about rosmake. Building packages might be a problem.

Pablo Urcola gravatar image Pablo Urcola  ( 2012-07-05 23:49:29 -0600 )edit
0

answered 2012-07-06 10:13:13 -0600

PerkinsJames gravatar image

(I am not familiar with the ubuntu installation procedure, but the basic idea of my answer is still the same)

I am unsure if you mean core ROS things (that are usually installed in /opt/ros/ during the make install step) or if you are talking about additional ROS packages you have placed in your home directory.

If it is core ROS (e.g. the transport framework, the command rosmake) then doing the make install and placing it in /opt/ros/ should solve the problem.

If it is the additional packages or if its absolutely necessary to install the core ROS packages in your home directory, I would think you could add the users to a specific group you create, then providing group read/write/execute (or whatever you want) permissions to all the files under your home ROS directory.

@Lorenz mentions about shared ROS packages and building becoming an issue. My assumption of what he means is that if the packages are rebuilt, then the compiled files, libraries, etc will not have the right permissions. To solve this, look into ACL's, which will allow new files created under a directory to have preset permissions. A link to another answer forum for how to use it is here: http://serverfault.com/questions/349145/can-i-override-my-umask-using-acls-to-make-all-files-created-in-a-given-director

edit flag offensive delete link more

Comments

That's not quite what I mean. rosmake calls make in each package. Users that don't own a package don't have permissions to do that. The marker file ROS_NOBUILD prevents rosmake from calling make which makes it possible to use packages a user doesn't have write permissions for. No ACLs necessary.

Lorenz gravatar image Lorenz  ( 2012-07-07 01:10:16 -0600 )edit

Question Tools

Stats

Asked: 2012-07-05 14:46:11 -0600

Seen: 2,552 times

Last updated: Jul 06 '12