Remember the definition of "uniformly continuous":
$f(x)$ is uniformly continuous on $[0,\infty)$ if and only if for every $\epsilon\gt 0$ there exists $\delta\gt 0$ such that for all $x,y\in [0,\infty)$, if $|x-y|\lt \delta$, then $|f(x)-f(y)|\lt \epsilon$.
We also know that the limit exists. Call
$$\lim_{x\to\infty}f(x) = L.$$
That means that:
For every $\varepsilon\gt 0$ there exists $N\gt 0$ (which depends on $\varepsilon$) such that if $x\gt N$, then $|f(x)-L|\lt \varepsilon$.
Finally, you probably know that if $f(x)$ is continuous on a finite closed interval, then it is uniformly continuous on that interval.
So: let $\epsilon\gt 0$. We need to show that there exists $\delta\gt0$ such that for all $x,y\in [0,\infty)$, if $|x-y|\lt \delta$, then $|f(x)-f(y)|\lt\epsilon$.
We first use a common trick: if you know that any value of $f(x)$ in some interval is within $k$ of $L$, then you know that any two values of $f(x)$ in that interval are within $2k$ of each other: because if $|f(x)-L|\lt k$ and $|f(y)-L|\lt k$, then
$$|f(x)-f(y)| = |f(x)-L + L-f(y)| \leq |f(x)-L| + |L-f(y)| \lt k+k = 2k.$$
So: pick $N\gt 0$ such that for all $x\gt N$, $|f(x)-L|\lt \epsilon/2$. That means that if $x,y\gt N$, then $|f(x)-f(y)|\lt \epsilon$, by the argument above. So we are "fine" if both $x$ and $y$ are greater than $N$.
Now, we just need to worry about what happens if both $x$ and $y$ are in $[0,N]$, or if one of $x$ and $y$ is in $[0,N]$ and the other one is in $(N,\infty)$.
For both in $[0,N]$, we are in luck: since $f$ is continuous on $[0,\infty)$, then it is continuous on the finite closed interval $[0,N]$, hence is uniformly continuous there. So we know there exists $\delta_1\gt 0$ such that for all $x,y\in [0,N]$, if $|x-y|\lt\delta_1$, then we have $|f(x)-f(y)|\lt \epsilon$. So we just need to ensure that $x$ and $y$ are within $\delta_1$ of each other; that will ensure the inequality we want if $x$ and $y$ are both in $[0,N]$, or if they are both in $(N,\infty)$.
Now we run into a slight problem: what if, say, $x\in [0,N]$ and $y\in (N,\infty)$? Well, since $f$ is continuous at $N$, we know that we can ensure that $f(x)$ and $f(y)$ are both as close as we want to $f(N)$ provided that $x$ and $y$ are both very close to $N$. But if $x$ and $y$ are within some $\ell$ of $N$, then they are within $2\ell$ of each other (same argument as before); and if $f(x)$ and $f(y)$ are both within some $k$ of $f(N)$, then they will be within $2k$ of each other.
So: let $\delta_2$ be such that if $|a-N|\lt\delta_2$, then $|f(a)-f(N)|\lt \epsilon/2$. Then, if $x$ and $y$ are both within $\delta_2$ of $N$, then $|f(x)-f(y)|\lt \epsilon$, and we'll be fine.
In summary: we want to select a $\delta\gt 0$ that will ensure that if $|x-y|\lt\delta$, then:
- If $x$ and $y$ are both less than $N$, then $|x-y|\lt \delta_1$;
- If $x$ and $y$ are both greater than $N$, then it doesn't matter how close to one another they are; and
- If one of $x$ and $y$ is less than $N$ and the other is larger than $N$, then they are each within $\delta_2$ of $N$.
To make sure the first condition happens, we just need to make sure that $\delta\leq\delta_1$. The second condition is easy. What should we require of $\delta$ in order for the second condition to hold? If we can find a $\delta$ that makes all three things happens simultaneously, we'll be done.
The comments and other answer address the uniform continuity on compact sets. @hermes points out the crux of your proof, that $|x + x_0| < 2$, cannot be extended to all of $\mathbb{R}$. Turns out there is no fix for that.
Let $\varepsilon = 1$. We need to show that for all $\delta > 0$, there exist $x,y$ such that $|x - y| < \delta$ but $|f(x) - f(y)| > 1$. The key is the dependence of $x$ and $y$ on $\delta$. To this end, let $\delta > 0$ be given, and choose $y = x + \frac{\delta}{2}$. Then $|x-y| = \frac{\delta}{2} < \delta$, but
$$|f(x) - f(y)| = |x^2 - y^2| = \left|x^2 - \left(x^2 + x\delta + \frac{\delta^2}{4}\right)\right| = \left|x\delta + \frac{\delta^2}{4}\right|,$$
and for sufficiently large (or small) $x \in \mathbb{R}$, we can make the last quantity larger than 1. Hence we do not have uniform continuity on $\mathbb{R}$.
Best Answer
The minimum might be $0$, which is not allowed. For example:
Let $f(x)=x^2$. Then on $[-b,b]$ we have that $|f(x)-f(y)|=|x^2-y^2|=|x-y||x+y|\leq 2b |x-y|$.
So given an $\varepsilon>0$, you can let $\delta<\varepsilon/(2b)$. Thus $f$ is uniformly continuous on $[-b,b]$.
The infimum over $b$ of this is exactly $0$, which is not allowed.