I don't think it's possible to print text directly form the roslaunch xml (w/o passing it into a node as a param / arg).
Best solution would be to put
print("Please keep this running in a separate tab.")
in your node script.
In your *.launch script, if you set the node's output attribute to "screen", the message will be printed to the terminal window.
<node name="PrintToScreenNode_1" pkg="my_package" type="print_to_screen.py" output="screen"/>
Note: You can also start your nodes in their own separate terminal windows using the launch-prefix attribute.
<node name="PrintToScreenNode_2" pkg="my_package" type="print_to_screen.py" output="screen" launch-prefix="xterm -e"/>
EDIT:
Here's an example script that just prints to the terminal:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
# Name: print_to_screen.py
# Author: Joseph Coombe
'''
# Uncomment lines 10, 13, 15 if you're running this node in its own separate
# terminal window. Otherwise the script will immediately exit and its terminal window will close.
#import rospy
def main():
#rospy.init_node('print_to_screen', anonymous=True)
print("Please keep this running in a separate tab.")
#rospy.spin()
if __name__ == '__main__':
main()
You'll want to un-comment the rospy
lines if you're launching this script in its own terminal (by using the launch-prefix attribute in your *.launch file). Otherwise, it'll immediately exit and close its terminal window (and as a result nobody will see the message).