"Personalize Settings" Shinobar and Barry <Issues Remain>

Window managers, icon programs, widgets, etc.
Message
Author
User avatar
drongo
Posts: 374
Joined: Sat 10 Dec 2005, 23:35
Location: UK

Connect after hostname change

#31 Post by drongo »

This may be a stupid question, but what happens if you connect to the network after you have changed the hostname? If everything is OK that would seem to be an acceptable workaround to me.

Or couldn't we just add some automatic "touch/reconfigure" script after a hostname change?

Then again, I rarely connect Puppy computers to MS domains or groups of MS computers, so this issue doesn't really affect me. :D

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#32 Post by rcrsn51 »

This is the issue that will not die.

Consider how Windows and other Linuxes handle this situation. You pick a hostname during the install process, BEFORE the OS launches. If you want to change the hostname DURING a session, you are expected to do a reboot. This guarantees that the new hostname registers properly with all the systems that require it.

Unfortunately, Puppy is trying to do this ass-backwards. Puppy lets you change the hostname DURING a session while avoiding a reboot. No wonder it's so problematic.

There is an obvious (to me) solution to the problem. But I'm not going to suggest it because I know what the response will be.

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

Re: refreshing the global environment

#33 Post by BarryK »

shinobar wrote:
BarryK wrote:Regarding updating of the global HOSTNAME variable, that is good enough reason for restarting X after changing the hostname.
No.
The global HOSTNAME variable is updated by the /etc/profile. We need not restart X if we launch the rxvt because the rxvt reads the /etc/profile. You can test it:
  1. Change the hostname by the firstrun or the hostname-set (BTW, that on the quicksetup or connectwizard need to click its special button.), but do not restart X.
  2. Launch rxvt.
  3. Type 'echo $HOSTNAME'.
No problem when you run any program from the rxvt. The problem occurs for the roxterm who does not read /etc/profile, and if any program is launched from the menu and the program uses the HOSNAME. I don't know what program uses it. Restarting X is no help for this case. You need to exit X and type 'exit' and 'xwin'.

P.S. Attached a small test program to show the HOSTNAME environment variable.
What you are describing here is exactly what my latest change in Woof fixes. xwin exports the updated HOSTNAME, then X is restarted and the updated HOSTNAME is now the global HOSTNAME value.

An application such as roxterm that reads the global HOSTNAME variable will then be reading the updated value.

This is a very old technique developed by GuestToo (any of you guys remember him?) for the LANG variable, and it works well.

So, I don't understand your response. You described a problem with roxterm, I implemented a fix. In what way does my solution not fix it?

rcrsn51,
Perhaps I have overlooked some important point that you have made, but I have not yet seen anything that convinces me that a reboot is required.

Also, vague comments that people should be concerned about my changes in Woof, are just that, vague, unsubstantiated. And unhelpful. You would need to test the code and point out something specific that is wrong or needs improving.

You made a similar vague comment about bugs in Woof awhile back, well, more than once, it seems to be a theme of yours.
The one I recall, was in a Forum thread of an alpha release of Wary or Racy, the purpose of which was specifically to find bugs and fix them. It made your comment at that time quite ridiculous.

So, I'm peeved. I prefer helpful feedback. I tolerate your comments because that is the nature of this forum, people can post what they want. But, I much prefer reading posts from people who have identified specific problems and posted about them or post fixes.

Whiners are a pain.
[url]https://bkhome.org/news/[/url]

User avatar
shinobar
Posts: 2672
Joined: Thu 28 May 2009, 09:26
Location: Japan
Contact:

Re: refreshing the global environment

#34 Post by shinobar »

shinobar wrote:No problem when you run any program from the rxvt. The problem occurs for the roxterm who does not read /etc/profile, and if any program is launched from the menu and the program uses the HOSNAME. I don't know what program uses it. Restarting X is no help for this case. You need to exit X and type 'exit' and 'xwin'.

P.S. Attached a small test program to show the HOSTNAME environment variable.
Tested on Racy-5.3 replacing Barry's recent hostname-set, network_default_connect, networkdisconnect, quicksetup and xwin.
EDIT: Sorry, this test is outdated. I missed Barry's last update:
http://bkhome.org/blog/?viewDetailed=02824

Code: Select all

#120505 automatic network reconnect. refer /usr/sbin/hostname-set
Changed the hostname 'puppyxx' to 'newhost'. Restarted X twice.
Attachments
newhost.png
rxvt shows new HOSTNAME,
but the script launched by Rox click
shows old HOSNAME value.
(2.38 KiB) Downloaded 807 times
Last edited by shinobar on Fri 11 May 2012, 23:41, edited 3 times in total.
Downloads for Puppy Linux [url]http://shino.pos.to/linux/downloads.html[/url]

User avatar
shinobar
Posts: 2672
Joined: Thu 28 May 2009, 09:26
Location: Japan
Contact:

Re: refreshing the global environment

#35 Post by shinobar »

BarryK wrote:This is a very old technique developed by GuestToo (any of you guys remember him?) for the LANG variable, and it works well.
I guess you are talking on this code at the last stage of xwin.

Code: Select all

  #v1.0.5 thanks GuestToo for advice on this, works with chooselocale script...
  NEWLANG="`cat /etc/profile | grep '^LANG=' | cut -f 2 -d '='`"
  if [ "$NEWLANG" ];then #precaution
   if [ "$NEWLANG" != "$LANG" ];then
    export LANG=$NEWLANG
   fi
  fi
 exec xwin
I am planning to change this part to the following for the lucid-528JP, Japanese edition:

Code: Select all

 . /etc/profile	# shinobar: reload profile
 exec xwin
not only for HOSTNAME but because some installed packages may have stuff in /etc/profile.d.
Downloads for Puppy Linux [url]http://shino.pos.to/linux/downloads.html[/url]

User avatar
shinobar
Posts: 2672
Joined: Thu 28 May 2009, 09:26
Location: Japan
Contact:

New test

#36 Post by shinobar »

Was missing Barry's latest fix in the previous test.

Tested on Racy-5.3 replacing Barry's recent hostname-set, network_default_connect, networkdisconnect, quicksetup and xwin.
xwin wrote:#120505 automatic network reconnect. refer /usr/sbin/hostname-set
#120511 hostname-set changed HOSTNAME, via quicksetup, X is restarted, update $HOSTNAME (was exported at bootup in /etc/profile)...
Changed the hostname 'puppyxx' to 'newhost'. Restarted X
Attachments
newhostname2.png
HOSTNAME value is refreshed after restarting X
(2.17 KiB) Downloaded 771 times
Downloads for Puppy Linux [url]http://shino.pos.to/linux/downloads.html[/url]

gcmartin

#37 Post by gcmartin »

Tested Precise 5255.

FirstRUN, the single screen localization tool in this distro hits ALL of the marks for localization needs OOTB.

It handles everything that is expected for launch on behalf of the user fabulously, And, it has successfully navigated network notification such that all devices know its network name whenever FirstRUN is used in this Precise. This was tested on 3 different DHCP routers and the results are the same! As well, each router shows it in their tables and in syslog on the LANs. No more delays or mis-names. This is behind us. And, FirstRUN gives users a central point of reference for all of its localization offering.

The stability, the sophistication, and the maturity, along with it operating consistently within a LAN makes this distro, a stellar OS. Precise can be considered for use in every home, school, business, library, village, or community on the planet. It adheres to desktop needs and behaves with an ease of use that other distros struggle to achieve.

I have published for several years that FirstRUN has really changed the nature of Puppy, its user interaction, its ease of understanding, and now, its overall abherence to its role on the LAN, This is a truly magnificent contribute as was ever made.

Thanks you Barry and Shinobar for all the good efforts,

and for the understanding, in this solution to something I have witnessed mature over the years. Puppy, in moving from text startup localization to single screen localization has made it simple for users to have good knowledge of what they are doing for their system use. And, it provides a great launch-point for user acceptance of Puppy and the Puppy services provided them.

Thank you, both, for this great technological contribution...FirstRUN!!! :D

User avatar
shinobar
Posts: 2672
Joined: Thu 28 May 2009, 09:26
Location: Japan
Contact:

hostname

#38 Post by shinobar »

As for my conclusion, the network need to refresh after the hostname is changed only if there is a local Dynamic DNS.
My answer is in the firstrun-2.2.
http://www.murga-linux.com/puppy/viewtopic.php?t=58312
countrywizard.qs at line 1753- wrote:#v2.2: hostname
if [ "$HOSTNAME" = "$HOSTNAMEORG" ]; then
set_hostname # ensure hostname settings
else
# check if network is ready
LANG=C route | grep -q 'default[ ].*[ ]0\.0\.0\.0[ ]' && grep -wq 'nameserver' /etc/resolv.conf && NETREADY="y" || NETREADY=""

if [ "$NETREADY" ]; then
# check if there is local Dynamic DNS
nslookup $HOSTNAMEORG &>/dev/null && DDNS="y" || DDNS=""

MSG=$(gettext "Hostname is changed.")
_ReConnect=$(gettext "The network need to refresh in case there is a local Dynamic DNS.")
_Servers=$(gettext "NOTE: Some servers like 'samba' need to restart if they are already runnng.")
[ "$DDNS" ] && MSG="$MSG\n$_ReConnect"
MSG="$MSG\n$_Servers"
DISCONNECT=$(which networkdisconnect)
RECONNECT=$(which network_default_connect)
if [ "$DDNS" -a "$DISCONNECT" -a "$RECONNECT" ]; then
_ReConnectNow=$(gettext "Refresh the network connection now?")
MSG="$MSG\n\n$_ReConnectNow"
EXIT='abort'
errmsg yesno $MSG && REFRESH="y" || REFRESH=""
if [ "$REFRESH" ];then
(snip)
Downloads for Puppy Linux [url]http://shino.pos.to/linux/downloads.html[/url]

gcmartin

#39 Post by gcmartin »

Although this was reported as solved, there seems to be a logic bug in the WOOF version for setting localization values in the system.

This bug surfaces when you, either,
  • do NOT have wired ethernet connection to a DHCP server, or,
  • you have 2 LAN adapters and you do NOT have wire in the 1st ethernet adapter, or,
  • your DHCP server is wired over the 2nd LAN adapter
The Bug is explained here.

Here to help

Post Reply